Python 与设置代理的两三事

来源:互联网 发布:2003年3d开奖数据 编辑:程序博客网 时间:2024/04/27 18:25

转自网上,先存着,方便以后用到时候查

  1. urllib

使用的urlopen()

urllib.urlopen(url,proxies={'http':'http://127.0.0.1:8580'})
  1. urllib2

封装成requeste的

request = urllib2.Request(url)request.add_header('Range', 'bytes=%d-%d' %self.headerrange)request.set_proxy('127.0.0.1:8580','http')conn = urllib2.urlopen(request)

还有一种:

proxy_handler = urllib2.ProxyHandler({"http" : 'http://192.168.0.101:3128'})opener = urllib2.build_opener(proxy_handler)urllib2.install_opener(opener)
  1. httplib
con0 = httplib.HTTPConnection("192.168.0.237","8349")con0.connect()con0.request("GET", "www.baidu.com", params0, headers0)r0 = con0.getresponse()
  1. xmlrpclib
Provide HTTP proxy support for Python's xmlrpclib, via urllib2.For example:    >>> transport = HTTPProxyTransport({    ...     'http': 'http://myproxyserver',    ... })    >>> server = xmlrpclib.Server('http://blogsearch.google.com/ping/RPC2',    ...                           transport=transport)    >>> print server.weblogUpdates.ping(    ...     'Official Google Blog',    ...     'http://googleblog.blogspot.com/',    ...     'http://googleblog.blogspot.com/'    ... )
import urllib2import xmlrpclibclass Urllib2Transport(xmlrpclib.Transport):    def __init__(self, opener=None, https=False, use_datetime=0):        xmlrpclib.Transport.__init__(self, use_datetime)        self.opener = opener or urllib2.build_opener()        self.https = https    def request(self, host, handler, request_body, verbose=0):        proto = ('http', 'https')[bool(self.https)]        req = urllib2.Request('%s://%s%s' % (proto, host, handler), request_body)        req.add_header('User-agent', self.user_agent)        self.verbose = verbose        return self.parse_response(self.opener.open(req))class HTTPProxyTransport(Urllib2Transport):    def __init__(self, proxies, use_datetime=0):        opener = urllib2.build_opener(urllib2.ProxyHandler(proxies))        Urllib2Transport.__init__(self, opener, use_datetime)
0 0
原创粉丝点击