【问题标题】:Proxy seems to be ignored by Mechanize?代理似乎被机械化忽略了?
【发布时间】:2011-01-19 05:51:53
【问题描述】:

我正在使用 http 代理和 Mechanize 模块。我初始化 mechanize 对象并像这样设置代理:

self.br = mechanize.Browser()
self.br.set_proxies({"http": proxyAddress})   #proxy address is like 1.1.1.1:8080

然后我像这样打开网站:

response = self.br.open("http://google.com")

我的问题是 mechanize 似乎完全忽略了代理。如果我调试和检查 br 对象,在代理处理程序下我可以看到我的代理设置。但是,即使我提供了一个糟糕的代理 Mechanize 也只是像我从未设置过代理一样开展业务。什么给了?

编辑: 我也试过:

mechanize.install_opener(mechanize.build_opener(mechanize.ProxyHandler({'http': "127.0.0.1:99"})))
response = mechanize.urlopen("http://google.com")

而且它似乎也忽略了我的代理。 (我什至没有给它一个有效的代理,它不应该在 URLError 上失败吗?)

【问题讨论】:

  • 有人有想法吗?我也在邮件列表上发帖,但还没有收到回复。

标签: python proxy urllib2 mechanize mechanize-python


【解决方案1】:

在电子邮件列表上讨论后想通了:

import mechanize
browser = mechanize.Browser()
browser.set_proxies(proxies={"http": "myproxy.example.com:1234"},
                proxy_bypass=lambda hostname: False)

【讨论】:

    【解决方案2】:

    如果您尝试访问 https 站点,请将代理设置为 https,如下所示 br = mechanize.Browser()

        # Cookie Jar
        cj = cookielib.LWPCookieJar()
        br.set_cookiejar(cj)
    
        # Browser options
        br.set_handle_equiv(True)
        br.set_handle_gzip(True)
        br.set_handle_redirect(True)
        br.set_handle_referer(True)
        br.set_handle_robots(False)
    
        # Follows refresh 0 but not hangs on refresh > 0
        br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
    
        # Want debugging messages?
        #br.set_debug_http(True)
        #br.set_debug_redirects(True)
        #br.set_debug_responses(True)
    
        # User-Agent (this is cheating, ok?)
        br.addheaders = [('User-agent', 'Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.2; Trident/6.0)')]
    
        br.set_proxies({"https": "XXX.XX.246.56:33835"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-28
      • 2016-09-30
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 2012-03-08
      • 2015-12-11
      相关资源
      最近更新 更多