【发布时间】:2015-07-08 06:05:13
【问题描述】:
我必须使用 Rest-Client 在 Ruby 中实现下面列出的 curl POST 请求。
我必须:
- 在标头中发送参数;
-
发送参数(不包含文件)为
multipart/form-data:$ curl -X POST -i -H "Authorization: Bearer 2687787877876666686b213e92aa3ec7e1afeeb560000000001" \ https://api.somewhere.com/endpoint -F sku_id=608399
如何使用 RestClient rubygem 翻译 curl 请求?
阅读文档(多段):https://github.com/rest-client/rest-client 我编码为:
@access_token = 2687787877876666686b213e92aa3ec7e1afeeb560000000001
url = 'https://api.somewhere.com/endpoint'
req = { authorization: "Bearer #{@access_token}"}
RestClient.post url, req, {:sku_id => 608399, :multipart => true}
但是我得到一个服务器错误;上面的 Ruby 代码正确吗?
非常感谢, 乔治
【问题讨论】:
-
您可以尝试将标头用作哈希:{ :authorization => "Bearer #{@access_token}"} 吗?此外,如果它仍然抛出错误,请在此处分享错误跟踪,以便我们查看发生了什么。
-
嗨,Xammy,我得到了一个 http 状态代码 401,但是,正如服务器端人员所证实的,这不是访问令牌错误的问题(哈希运行 Smoothley 和其他 api 端点)
标签: ruby curl http-headers multipartform-data rest-client