代理IP使用urllib2库提交GET、POST请求

本文介绍了如何利用Python的urllib2库,通过代理IP进行HTTP的GET和POST请求。首先,创建ProxyHandler来设置代理,然后构建opener并添加请求头。对于GET请求,直接打开URL读取响应;对于POST请求,先编码参数,再发送到URL获取响应。

网络上提供代理IP服务的商家是越来越多,但与此同时,选择的增加也无疑给了消费者筛选难度。除了验证服务商的资质,代理IP的有效性也是我们最为关注的问题。在一番挑选之后,终于找到了合适的代理,那么这时,我们就可以开始工作了。

下面分别说说如何代理IP是使用urllib2库提交GET、POST请求的。

如何使用代理IP提交GET请求?

import urllib2

def UseProxyToGet(proxy_ip, proxy_port):

proxy_support = urllib2.ProxyHandler({‘http’: r’http://’ + proxy_ip + ‘:’ + proxy_port})

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

try:

url = "“http://httpbin.org/get?a=1&b=2"”

opener.addheaders = [

(‘Cookie’, ‘this is cookie’),

(‘Referer’, ‘this is refere’),

(‘User-Agent’, ‘this is user-agent’),

response = opener.open(url, timeout=5)

html = response.read()

print html

except urllib2.HTTPError as e:

print(‘UseProxyToGet:’, proxy_ip, ’ HTTPError:’, e)

except urllib2.URLError as e:

print(‘UseProxyToGet:’, proxy_ip, ’ URLError:’, e)

except Exception as e:

print(‘UseProxyToGet:’, proxy_ip, ’ Exception:’, e)

如何使用代理IP提交POST请求?

import urllib, urllib2

def UseProxyToPost(proxy_ip, proxy_port):

proxy_support = urllib2.ProxyHandler({‘http’: r’http://’ + proxy_ip + ‘:’ + proxy_port})

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

try:

url = ““http://httpbin.org/post””

opener.addheaders = [

(‘Cookie’, ‘this is cookie’),

(‘Referer’,‘this is refere’),

(‘User-Agent’, ‘this is user-agent’),

values = {‘a’: ‘1’, ‘b’: ‘2’}

data = urllib.urlencode(values)

response = opener.open(url, data, timeout=5)

html = response.read()

print html

except urllib2.HTTPError, e:

print(‘UseProxyToPost:’, proxy_ip, ’ HTTPError:’, e)

except urllib2.URLError as e:

print(‘UseProxyToPost:’, proxy_ip, ’ URLError:’, e)

except Exception as e:

print(‘UseProxyToPost:’, proxy_ip, ’ Exception:’, e)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值