3

我在谷歌上搜索并阅读了 ruby​​ 手册,但我找不到通过 socks4 代理使用 WWW::Mechanize 和 NET::HTTP::GET 的方法。

我读到, WWW::Mechanize 是 UserAgent 模块的子类,因此 ->proxy() 方法可以工作。但是该手册只讨论了 http、ftp 和 gopher 代理。

任何想法如何支持socks4?以下是代码片段:

def get_request(url_in)
    url = URI.parse(url_in)
    req = Net::HTTP::Get.new(url.path, {"User-Agent" => $UserAgent})

    res = Net::HTTP.start(url.host, url.port) { |http|
        http.request(req)
    }


    return res.body
end
 agent       = WWW::Mechanize.new
    agent.user_agent_alias('Windows Mozilla')
    page        = agent.get("urlhere")
    post_form   = page.form('post')
4

1 回答 1

3

您可能想看看Ruby socksify。我不认为 HTTP 客户端对 SOCKS 代理有任何支持;仅用于 HTTP 的 HTTP 代理。

于 2009-12-09T06:01:30.033 回答