浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Python 通过代理访问网络 - 李华顺

 


Python 通过代理访问网络

 

2008-08-20

| Comments

 

 

今天看了一下 TurboGears 这个Web框架,很奇怪,它的下载要通过一个文件自动从网上下包来安装,但是,公司里面需要代理才可以连接到网络,所以我就顺便看了一下 Python 的网络代理的实现方式。

还是很简单的,几行就可以了:

import os,sys,urllib2

PROXY_INFO = {
 'user' : 'monster' ,
  'pass' : '123123' ,
   'host' : '192.168.1.13' ,
 'port' : 8080
}

def load_url(url): 
  proxy_support = urllib2 . ProxyHandler ( { 'http' : \
   'http://%(user)s:%(pass)s@%(host)s:%(port)d' % PROXY_INFO } ) 
   opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)
    urllib2.install_opener(opener) 
  src = urllib2.urlopen(url)
  return src.read()
    
if __name__=='__main__':
  print load_url("http://www.google.com")

详细地址:http://pastie.org/255667

这个是我写的链接到 Google 并返回 Response 内容的例子。

重点的地方是:

opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)
urllib2.install_opener(opener) 

这两句,将代理信息保存到urllib2 里面,这样,这个类的调用都会使用设置的代理。

我在 Google Code 上面见了一个专门放此类实现方式例子的项目,以后这些不好整理的东西都扔哪儿去,嘿嘿。

项目地址:http://code.google.com/p/python-snippets/

 

 

 

2008-08-20

 

Python, 代理, 技巧

 

 

posted on 2012-03-25 15:19  lexus  阅读(1553)  评论(0编辑  收藏  举报