转自网上,先存着,方便以后用到时候查
- urllib
使用的urlopen()
urllib.urlopen(url,proxies={'http':'http://127.0.0.1:8580'})
- 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)
- httplib
con0 = httplib.HTTPConnection("192.168.0.237","8349")
con0.connect()
con0.request("GET", "www.baidu.com", params0, headers0)
r0 = con0.getresponse()
- 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 urllib2
import xmlrpclib
class 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)