【问题标题】:How to use different ip proxy on the same program in urllib2 ?urllib2中如何在同一个程序上使用不同的ip代理?
【发布时间】:2016-09-13 03:59:09
【问题描述】:

以下代码可以使用代理作为官方文档

proxy_handler = urllib2.ProxyHandler({protocol : protocol + '://' + ip_proxies})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)

但我想在不同的方法上使用不同的代理

使用urllib2.install_opener()会在urllib2中设置全局opener,这样我就不能在程序中使用两个不同的Proxy设置了。

如何不使用install_opener更改全局设置,而只使用opener直接调用open方法而不是全局urlopen方法?

【问题讨论】:

    标签: python proxy urllib2 urllib


    【解决方案1】:

    我已经解决了这个问题。关键是用requests而不是urllib2,我的错。

    import requests
    
    s = requests.Session()
    proxies = {
            'http': 'http://127.0.0.1:8087',
            'https': 'http://127.0.0.1:8087',
    }
    login_data = {
            'email': 'youxiassssssssssssssssssssssss@163.com',
            'pass': 'mima',
    }
    r = s.get('https://www.facebook.com/login.php?login_attempt=1', proxies=proxies, verify=False)
    

    requests 支持的功能

    • 国际域名和网址
    • 保持活动和连接池
    • 具有 Cookie 持久性的会话
    • 浏览器式 SSL 验证
    • 基本/摘要式身份验证
    • 优雅的键/值 Cookie
    • 自动解压
    • 自动内容解码
    • Unicode 响应正文
    • 分段文件上传
    • HTTP(S) 代理支持
    • 连接超时
    • 流式下载
    • .netrc 支持
    • 分块请求
    • 线程安全

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      相关资源
      最近更新 更多