【发布时间】:2016-12-31 13:50:07
【问题描述】:
我编写了简单的脚本来检查 url 是否受错误 404 的影响。
当我使用 404 在 url 上运行脚本时,它确实返回了正确的响应,但是有时它返回了不同的响应(503),我不明白为什么会这样,我已经在许多其他 URL 和结果永远不一致。有人会这样解释为什么我的结果会不断变化,即使实际的 url 状态没有变化??
提前感谢您的帮助
我尝试使用以下模块:
urllib,urllib2,请求
所有这些都产生了相同的不一致结果。
这里是脚本:
我
import requests
for url in ['https://www.amazon.es/gp/product/B00QTVL0T4']:
response = requests.get(url)
response.status_code
print(response)
响应 [404] 和响应 [503](不正确)
二
import urllib
result=''
#***** paste url into square bracket ****#
for url in ["https://www.amazon.es/gp/product/B003ODEJZ2",'https://www.amazon.fr/gp/product/B01H801C9C']:
a=urllib.urlopen(url)
e=a.getcode()
if e==404:
result+=(url+" Error_404 "+"\n")
else:
result+=(url+" Link_OK "+"\n")
print result
III
import urllib2
for url in ['https://www.amazon.es/gp/product/B003ODEJZ2','https://www.amazon.fr/gp/product/B01H801C9C','https://www.amazon.de/dp/B00B8PRE1Y']:
try:
connection = urllib2.urlopen(url)
except urllib2.HTTPError, e:
if e.getcode()==404:
print (url+" Error_404")
else:
print(url+" Link_Ok")
【问题讨论】:
-
我猜服务器可能过载,它会丢弃一些请求,所以
503这种情况下状态是正常的
标签: python-2.7 http-status-code-404 python-requests urllib2 urllib