我有一个书签网站,在ruby on rails上完成,其中需要打开许多网址并抓取其标题和base_uri。用于打开URL的方法是打开的(url)。当我尝试使用开放URI方法打开http://www.mysite.com/时,我收到500内部服务器错误。
TestsController #test中的OpenURI :: HTTPError
500内部服务器错误
我可以通过浏览器访问此网址。
我的代码发布在下面
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)但是得到了同样的错误。
请帮我解决这个问题。
答案 0 :(得分:0)
我有完全相同的问题;可以在我的浏览器中打开网站,但不能通过open-uri打开。添加用户代理并没有修复它,但使用'restclient'类确实
require 'restclient'
url = 'http://www....'
user_info = RestClient.get(url, "User-Agent" => "Ruby")