urllib2和wget返回HTTP 403(禁止),而browser返回OK

2024-09-19 23:39:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我的浏览器可以访问某个网页,但是urllib2.urlopen()(Python)和{}都返回htp403(禁止)。有没有办法弄清楚发生了什么事?在

我使用最原始的形式,比如urllib2.urlopen("http://test.com/test.php"),使用相同的url(http://test.com/test.php)对于浏览器和wget。考试前我已经在浏览器中清除了所有的cookies。在

非常感谢!在


Tags: testcomhttpurl网页浏览器urllib2wget
2条回答

Python库urllib有一个默认的用户代理字符串,其中包含Python一词,wget使用“wget/VERSION”。如果你正在连接的站点检查用户代理信息,它可能会拒绝这两个。例如,谷歌将这样做。在

它很容易修复。。对于wget,使用-U参数;对于urllib,使用适当的字符串创建一个URLOpener。在

有些网站不允许网页抓取。尝试使用Python requests。在

这个图书馆应该可以用了。在

相关问题 更多 >