我正在编写一个有趣的应用程序供我使用。在这个应用程序中,我将 URL 放入经典的 POST 表单中,从中提取一些信息。例如,这一行是我提取页面标题的地方:
self.name = Nokogiri::HTML(open(self.url)).css('title').to_s.sub('<title>','').to_s.sub('</title>','')
我正在使用 Nokogiri (v1.5.4) 从源页面解析数据。我不知道我是否在这里遗漏了什么,但应用程序的行为很奇怪。
如果我在我的机器上的开发环境中的本地主机上运行,一切正常并且在我看来还不错。但是,在推动 Heroku 之后,出现了一些问题。例如,来自 StackOverflow 的 URL总是有这种类型的错误:
OpenURI::HTTPError (503 Service Unavailable):
app/models/url.rb:67:in `set_name'
app/controllers/urls_controller.rb:48:in `block in create'
app/controllers/urls_controller.rb:46:in `create'
我不明白为什么它只发生在 Heroku 上。在我的本地机器上,它可以完美地使用相同的 URL。我可能遗漏了 Heroku 的某些内容,但其他 URL 正在返回正常的 200 状态并且工作正常。它只是来自 StackOverflow 的 URL。