新手问题 rest-client 自动转换 headers 里的参数

stargwq · 2019年08月28日 · 最后由 ericguo 回复于 2019年09月01日 · 2120 次阅读

请教大家一个问题,请求第三方 API, 需要在 headers 里传递一个参数,第三方需要 appId, 我传递进去的是 appId, 但是在请求时,headers 自动转换成 Appid

POST /queryCoupon HTTP/1.1
Accept: application/json
User-Agent: rest-client/2.1.0 (darwin18.7.0 x86_64) ruby/2.5.0p0
Content-Type: application/x-www-form-urlencoded
Appid: xlkb
Content-Length: 373
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Host: localhost:10001

传递进去的

heades: { appId: 'xlkb' } 

感谢

https://github.com/rest-client/rest-client/blob/master/lib/restclient/request.rb#L368

如果 header 名是 symbol 格式会调用

key = key.to_s.split(/_/).map(&:capitalize).join('-')

可以改成

heades: { 'appId' => 'xlkb' }

也可以写成:{"appId": "xlkb"}

PS: 我个人更喜欢用http-rb

需要 登录 后方可回复, 如果你还没有账号请 注册新账号