如何使用法拉第gem发送XML文件并在Ruby中获得响应

时间:2019-05-16 13:09:52

标签: ruby-on-rails ruby rubygems ruby-on-rails-5 faraday

我学习了如何发送http请求,并且希望使用Faraday gem发送整个XML文件并获得响应

这就是我发现的,如何使用faraday(已经安装了法拉第gem)发送整个文件

faraday = Faraday.new do |f|
    f.request :multipart 
    f.request :url_encoded 
    f.adapter :net_http
end
    file_io = Faraday::UploadIO.new('act.xml', 'rb')
    faraday.post('example.com', file_io)

然后,我在控制台中收到此消息 ..... rvm / gems / ruby​​-2.6.2 / gems / faraday-0.15.4 / lib / faraday / request / url_encoded.rb:12:in'[]':哈希参数的奇数个(ArgumentError)

1 个答案:

答案 0 :(得分:0)

这应该有效。

faraday = Faraday.new do |f|
  f.request :multipart 
  f.request :url_encoded 
  f.adapter :net_http
end

payload = {xml: Faraday::UploadIO.new('act.xml', 'application/xml')}
faraday.post('http://example.com', payload)