import urllib.request
# 测试ip网站
url = 'http://icanhazip.com/'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.188.400 QQBrowser/11.4.5226.400'
}
proxies = {
'https':'117.33.148.180:16818'
}
request = urllib.request.Request(url = url, headers = headers)
handler = urllib.request.ProxyHandler(proxies = proxies)
opener = urllib.request.build_opener(handler)
response = opener.open(request)
content = response.read().decode('utf-8')
with open('iptest.text','w',encoding='utf-8') as fp:
fp.write(content)
代理的ip地址为:
117.33.148.180
但是显示为本机ip
解决
1.看使用的代理是否为透明代理
如果是透明代理的话请改为高匿名代理即可, 透明代理仍然会显示本机ip
2.使用的就是高匿名代理
解决分析
若使用的就是高匿名代理那么请注意网站协议
这里访问的网站协议为http
但是我们的代理使用的确实https
解决方案
我们把代理使用的协议改为和访问网站一样的协议http
然后再次爬取该网站
返回的为代理ip 成功解决