本文共 782 字,大约阅读时间需要 2 分钟。
问题分析:
使用urllib.request.urlopen直接打开URL时,服务器可能会拒绝请求,返回403 Forbidden错误。原因在于,urllib请求缺乏User-Agent信息,服务器无法确认请求的真实性和来源,容易误判为爬虫行为。
解决方法:
在请求头中添加User-Agent信息,使服务器认为请求来自真实的浏览器,从而正常处理请求。
步骤说明:
优化后的代码示例:
import urllib.requestdef set_IPlsit(): url = 'https://www.whatismyip.com/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0' } req = urllib.request.Request(url=url, headers=headers) response = urllib.request.urlopen(req) html = response.read().decode('utf-8') return html# 调用函数获取IP地址信息ip = set_IPlsit() 注意事项:
转载地址:http://gnafk.baihongyu.com/