Tag: rest客户

Ruby – 使用RestClientpost上传文件

我有一个cURL,我试图转换成Ruby。 cURL是这样的: curl -i -k -H “Accept: application/json” -H “Authorization: token” -H “Content-Type: image/jpeg” -H “Content-Length: 44062” –data-binary “gullfoss.jpg” http://sofzh.miximages.com/ruby/gullfoss.jpg’) result = RestClient.post(‘http://www.someurl.com/objects’,image,{‘upload’ => image, ‘Accept’ => ‘application/json’, ‘Authorization’ => ‘token’, ‘Content-Type’ => ‘image/jpeg’, ‘Content-Length’ => ‘44062’}) Ruby代码给了我一个400 Bad Request。 授权或其他标题不是问题。 我认为问题在于将–data-binary转换为Ruby。 任何帮助赞赏。 谢谢,阿德里安

如何让Ruby的RestClient gem在post上尊重content_type?

例如,在RestClient控制台中: RestClient.post ‘http://localhost:5001’, {:a => ‘b’}, :content_type => ‘application/json’ 这不会将application / json作为内容类型发送。 相反,我看到: Content-Type: application/x-www-form-urlencoded 我能够跟踪对restclient / payload.rb的更改: class UrlEncoded ‘application/x-www-form-urlencoded’}) end end 用super替换super.merge会导致内容类型得到尊重,但显然这不是一个真正的解决方案。 有谁知道解决这个问题的正确方法? 谢谢。