我正在尝试与 Rails 中的 RESTful 服务进行通信。它可以返回不同格式的数据,json和xml。有没有一种特定的方法可以获取我想要的数据类型。
该服务提到需要在 HTTP header 中设置 ACCEPT。我不知道如何在 Ruby 中做到这一点。
目前我正在为 get 执行此操作
response = Net::HTTP.get( URI.parse( <url> ) )
我不知道如何更改此调用的 header 信息。任何帮助表示赞赏。谢谢。
最佳答案
我已经按照这种方式工作了
uri = URI( <domain>:<port>/<path> )
params = { <query_hash> }
headers = { <header_hash> }
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.path)
request.set_form_data( params )
request = Net::HTTP::Get.new( uri.path+ '?' + request.body , headers)
response = http.request(request)
其中 query_hash
是哈希中的所有查询 ex: { "q"=> "cats"}
与 header_hash
类似,例如:{ "ACCEPT"=> "text/json"}
关于ruby-on-rails - 更改 Rails 中的 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971760/