我正在尝试转换一个快速的cURL hack,我做了一段时间回到Ruby等效。即将到来。
我从
的开放JSON API下载数据http://api.turfgame.com/v4/users
使用以下cURL命令
curl -s -X POST -H "Content-Type: application/json" -d '[{"name": "tbone"}]' api.turfgame.com/v4/users
我的微弱尝试已经缩短了。到目前为止,我所做的是
require 'net/http'
require 'rubygems'
require 'json'
require 'uri'
url = "http://api.turfgame.com/v4/users"
uri = URI.parse(url)
data = {"name" => "tbone"}
headers = {"Content-Type" => "application/json"}
http = Net::HTTP.new(uri.host,uri.port)
response = http.post(uri.path,data.to_json,headers)
puts response.code
puts response.body
我收到的错误消息是
400
{"errorMessage":"Invalid JSON string","errorCode":195887105}
我猜测我没有正确发送请求,但是如何?
欢迎任何指针!感谢
答案 0 :(得分:0)
你的curl请求有这个内容[{"name": "tbone"}]
(里面有一个哈希的数组),但在你的Ruby版本中,你只需发送没有包装数组的哈希{"name" => "tbone"}
。
将您的data
更改为:
data = [{"name" => "tbone"}]