考虑到数据的公共性质,这应该很简单,但出于某种原因,我的Ruby脚本会在发出请求时超时。
网址为http://mtgox.com/api/1/BTCGBP/ticker - 在浏览器中正常运行,并返回预期的JSON。
require 'net/https'
require 'uri'
uri = URI.parse('https://mtgox.com/api/1/BTCGBP/ticker')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
resp, response = http.post(uri.request_uri, nil)
然而,这会从同一个框中返回 Timeout :: Error:execution expired 异常(每次)。我可能错过了一些非常明显的东西;有人可以帮忙吗?
由于
答案 0 :(得分:3)
我在我的环境中尝试了你的代码,一切都很好。你能写一些关于这个错误的更多内容,它在哪一行发生等等? 你确定使用POST动词(RESTful)吗?你想让我做什么 ?我修改了你的代码:
require 'net/https'
require 'uri'
uri = URI.parse('https://mtgox.com/api/1/BTCGBP/ticker')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
resp = http.get(uri.request_uri)
puts resp.body
我使用GET动词,我得到了JSON。