免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3979 | 回复: 0
打印 上一主题 下一主题

[python]用urllib2设置代理访问网页 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-23 13:30 |只看该作者 |倒序浏览

                #!/usr/bin/env python
import urllib2
# change followings before use
user = 'foo'
passwd = 'bar'
proxyserver = '1.2.3.4:5'
url   = 'http://www.google.com/'
def proxy1():
    # work
    proxy = 'http://%s:%s@%s' % (user, passwd, proxyserver)
    opener = urllib2.build_opener( urllib2.ProxyHandler({'http':proxy}) )
    urllib2.install_opener( opener )
    sContent = urllib2.urlopen(url)
    print sContent.read()
def proxy2():
    # work for someone, but not for me
    passmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
    passmgr.add_password('realm', proxyserver, user, passwd)
    authinfo = urllib2.ProxyBasicAuthHandler(passmgr)
    proxy = 'http://%s' % proxyserver
    opener = urllib2.build_opener(urllib2.ProxyHandler( {'http':proxy} ), authinfo)
    urllib2.install_opener(opener)
    sContent = urllib2.urlopen(url)
    print sContent.read()
def proxy3():
    # work for someone, but not for me
    authinfo = urllib2.HTTPBasicAuthHandler()
    authinfo.add_password('realm', proxyserver, user, passwd)
   
    proxy = 'http://%s' % proxyserver
    opener = urllib2.build_opener(urllib2.ProxyHandler( {'http':proxy} ), authinfo)
    urllib2.install_opener(opener)
   
    sContent = urllib2.urlopen(url)
    print sContent.read()
在linux系统中,如果urllib2设置的代理不好用可以试试环境变量:
export http_proxy='protocol://user:passwd@proxyserver:port'
export https_proxy='protocol://user:passwd@proxyserver:port'
比如通过代理上传appengine文件,其SDK中的rpc不提供代理设置,就可以用这招。
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19962/showart_1907979.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP