Ruby HTTPClient将content_type设置为json

时间:2018-03-27 13:59:05

标签: ruby

如何为HTTPClient设置JSON的内容类型?这是一个非常简单的问题,但我似乎无法找到要使用的标头哈希。我看到的另一个选项是JSONClient,但我不确定如何在收到错误NameError: uninitialized constant JSONClient时访问该对象。

我的gemfile是gem 'httpclient'

3 个答案:

答案 0 :(得分:2)

使用:

require 'jsonclient'

然后您可以像使用HTTPClient一样使用JSONClient。

答案 1 :(得分:2)

doc中,您看到new方法接受了一个哈希的args,您可以使用Content-type:application/json传递标题

另外,小贴士:这个site允许你测试你的请求(哦,不要忘记删除http,lol)

a = HTTPClient.new({proxy: "http://webhook.site/052626ab-3128-41c5-a5a5-799a2f5ecd94", header: "Content-type:application/json"})
a.post("http://webhook.site/052626ab-3128-41c5-a5a5-799a2f5ecd94",{"msg": "olar"})

答案 2 :(得分:0)

使用:

require 'httpclient'
HTTPClient.new.get('https://jsonplaceholder.typicode.com/photos', nil, ['Accept', 'application/json; charset=utf-8'])

require 'httpclient'
JSONClient.new.get('https://jsonplaceholder.typicode.com/photos')