Gau*_*pta 1 http http-status-code-403
我在python中有一段代码可以生成http get请求.我可以成功地向http://google.com等网址发送请求并下载他们的网页.但我无法向http://stackoverflow.com提出请求.它显示HTTP 403禁止ERROR.但是我可以从浏览器访问stackoverflow.那么这个错误的原因是什么呢?
码:
import urllib2
c = urllib2.urlopen(' https://stackoverflow.com/ ')
contents = c.read()
print contents [0:50]
错误: HTTPError:HTTP错误403:禁止
同样在这里,我正在使用Python 3.
urllib.request.urlopen('http://stackoverflow.com') 失败,出现HTTP错误403.
我更改了User-Agent,然后它工作了:
import urllib.request
urllib.request.urlopen(urllib.request.Request('http://stackoverflow.com/',headers={'User-Agent':'Mozilla/5.0'}))
Run Code Online (Sandbox Code Playgroud)
因此,似乎stackoverflow.com根据用户代理过滤请求,而google.com不会这样做.
urllib2的默认用户代理字符串是"Python-urllib/2.6"(在Python 2.6上)
资料来源:https://docs.python.org/2/library/urllib2.html
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |