机械化问题连接到HTTP代理... Ruby

时间:2013-08-18 05:22:43

标签: ruby proxy mechanize

我有一个代理设置并在我的本地主机上运行完全正常。我可以完全正常运行此代码连接到代理。

Net::HTTP::Proxy('http://localhost', 1234).start  #do whatever I want after this point

我可以通过浏览器完全正常地连接到它,但是当我在机械化上运行它时它完全失败了。这是代码。

require 'mechanize'
agent=Mechanize.new
agent.set_proxy('localhost', 1234)
agent.get('http://google.com')   #or any website for that matter

这是我得到的错误

Net::HTTP::Persistent::Error: too many connection resets (due to end of file reached - EOFError) after 0 requests on 22249020, last used 1376802493.5352573 seconds ago

我已经读过1.0.0之后的版本很难连接到http代理,但我需要和我目前正在运行2.7.2版本。我可以做些什么来连接代理。

2 个答案:

答案 0 :(得分:2)

某些代理无法处理持久连接(保持活动状态)。您需要确保使用支持HTTP / 1.1的代理。

答案 1 :(得分:0)

您运行的是哪个版本的Ruby?我有Ruby 2.1.5和Mechanize这个问题,但没有Ruby 1.9.3。

大概你已经解决了你的问题,但对于其他可能会在这里结束的人来说,降级到Ruby 1.9.3可能是一种解决方法。