0

我有这个代码:

base_twitter_url = 'http://cdn.api.twitter.com/1/urls/count.json?url='
raw_url = base_twitter_url + 'http://www.google.com' 
url = URI.parse(raw_url)
req = Net::HTTP::Get.new(url.to_s)
res = Net::HTTP.start(url.host, url.port) {|http|
  http.request(req)
}
p res.body

我希望返回一个 json,因为当从浏览器执行它时:https://cdn.api.twitter.com/1/urls/count.json?url=http://www.google.com我得到一个 JSON 返回。

但没有运气。我在这里做错了什么?

编辑:

我刚刚从一个原始的 ruby​​ 文件中尝试了这个,它工作正常。但是,当从 Rails 控制器操作中执行此操作时,我没有得到任何结果。看不出来为什么。

4

1 回答 1

2

您的代码将转到 HTTP 端点,而在浏览器中您将转到 HTTPS 端点(即使用 SSL)。该特定地址在通过 HTTP 时会返回到 HTTPS 版本的重定向。

于 2013-04-30T18:24:55.093 回答