2

我有一个书签站点,用 ruby​​ on rails 完成,其中需要打开许多 URL 并抓取其标题和 base_uri。用于打开 URL 的方法是 open(url)。当我尝试使用 open URI 方法打开http://www.mysite.com/时,出现 500 Internal server error。

TestsController#test 中的 OpenURI::HTTPError

500内部服务器错误

我可以通过浏览器访问此 URL。

我的代码贴在下面

require 'hpricot'
    require 'open-uri'
    require 'timeout'
    require 'net/http'
url = 'http://www.mysite.com/'
@filep   = open(url)
base_uri =    @filep.base_uri

我也使用代码对 hpricot 进行了同样的尝试。

@doc = Nokogiri::HTML(open(url).read) 但得到同样的错误。

请帮助我。

4

1 回答 1

0

我有同样的问题; 可以在我的浏览器中打开网站,但不能通过 open-uri 。添加用户代理并没有解决它,但使用“restclient”类确实

require 'restclient'
url = 'http://www....'
user_info = RestClient.get(url, "User-Agent" => "Ruby")
于 2013-04-25T17:36:15.857 回答