2

考虑到数据的公开性质,这应该很简单,但由于某种原因,我的 Ruby 脚本在发出请求时超时。

URL 是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异常(每次)。我可能遗漏了一些非常明显的东西;谁能帮忙?

谢谢

4

1 回答 1

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。

于 2013-01-05T17:01:52.803 回答