如何在 Ruby 中使用 Post 请求发送 XML 文件

马克西姆科尔希科夫

我正在编写发送 http post 请求的代码。现在我在我的代码中编写了 xml body,并且它可以正常工作。

但是如果我想使用 xml 文件发送请求,我会得到
未定义的方法 `bytesize' # 你的意思吗?字节

我的代码如下

require 'net/http'

request_body = <<EOF
<xml_expamle>
EOF

uri = URI.parse('http://example')
post = Net::HTTP::Post.new(uri.path, 'content-type' => 'text/xml; charset=UTF-8')
post.basic_auth 'user','passcode'
Net::HTTP.new(uri.host, uri.port).start {|http|
  http.request(post, request_body) {|response|
    puts response.body
  }
}


**But if I want to make send file**

require 'net/http'

request_body = File.open('example/file.xml')


uri = URI.parse('http://example')
post = Net::HTTP::Post.new(uri.path, 'content-type' => 'application/xml; charset=UTF-8')
post.basic_auth 'user','passcode'
Net::HTTP.new(uri.host, uri.port).start {|http|
  http.request(post, request_body) {|response|
    puts response.body
  }
}

我得到未定义的方法 `bytesize' # 你是说吗?字节

隆隆

如果要将文件内容用作请求正文,则需要将文件内容加载到内存中,使用#read方法:

request_body = File.open('example/file.xml').read

它会起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Spring RestTemplate发送XML POST请求?

如何发送POST请求并获得文件响应?

如何在Java中使用Post参数发送简单的HTTP Post请求

如何使用Guzzle以JSON发送POST请求?

如何使用BODY快速发送POST请求

如何使用HTTPie发送POST请求?

如何在Objective C中使用AES加密发送CommonCrypto POST请求?

如何在Vue.Js中使用$ http.post发送文件

在Ruby中使用SOAP请求发送文件

如何在Android中使用Retrofit发送JSON POST请求并接收String响应

如何使用post方法发送多个请求

如何使用JavaScript发送多个POST请求

如何在Ruby on Rails中使用XML

如何在Lua中使用OAUTH发送POST请求

如何使用Laravel将带有Guzzle的XML POST请求发送到Web服务API?

如何在Ruby中使用httpclient发送多部分流式请求

如何使用http POST请求作为formData发送文件?

如何在Qt中使用JSON正文发送POST请求

Flutter-如何在Dart中使用HTTP发送POST请求?

NodeJS:如何通过请求POST发送文件

如何使用JMeter发送XML POST请求

如何使用AFNetworking 2.5发送XML PUT / POST请求

如何在Swift中使用变量发送POST请求

如何在Django中使用ajax发布请求发送文件

如何在 ruby 中使用身份验证发送 api 请求

如何将使用 POST 请求发送到 Flask 的文件解析为 json?

如何在一个 POST 请求中使用 IFormFileCollection 发送 int

如何使用 Avro 文件发送 http post 请求?

如何在 React 应用程序中使用 Fetch 向 Flask API 发送 POST 请求