3、自定义ProxyHandler发送请求

from urllib import request
# 请求的url
url = "http://www.jinri.com"
# 请求的头文件
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"
}
# 创建请求对象
req = request.Request(url,headers = headers)
# 公开代理ip
proxy = {"http":"114.215.95.188:3128"}
# 私密代理
# proxy = {"http":"用户名:密码@114.215.95.188:3128"}
# 创建密码管理对象,
# passwordMgr = request.HTTPPasswordMgrWithDefaultRealm()
# 向密码管理对象添加密码信息,
# 第一参数:域 一般写None,第二个参数:代理ip和端口,第三参数:用户名,第四参数:密码
# passwordMgr.add_password(None,"114.215.95.188:3128","username","password")
# 根据密码管理器创建代理处理器
# proxyHandler = request.ProxyBasicAuthHandler(passwordMgr)
# 创建代理Handler
proxyHandler = request.ProxyHandler(proxy)
# 创建opener,可同时添加多个处理,用逗号隔开,比如代理处理器,cookie处理器等
opener = request.build_opener(proxyHandler)
# 发送请求
response = opener.open(req)
# 读取响应文件
html = response.read().decode('utf-8')
print(html)
posted @ 2018-03-21 14:05  toloy  阅读(442)  评论(0编辑  收藏  举报