【发布时间】:2022-11-23 11:26:35
【问题描述】:
我想问一下是否有可能检测到一个网站不可用或网站无法在 python 中访问?
还有一个网站显示“无法访问该网站”,在检查网络时显示状态“(失败)”
为了检测一个网站,我使用了这段代码。
import requests
exist=[]
for b in BNIPhishing:
try:
request = requests.get(b)
if request.status_code == 200:
exist.append(b)
print('Exist')
elif request.status_code == 204:
print('user does not exist')
elif request.status_code == 304:
print('Not available')
elif request.status_code == 504:
print('Timeout')
elif request.status_code == (failed):
print('failed')
except:
print('Not Exist')
到目前为止,我用来检测网站的代码是这样的。我愿意就如何改进代码提出建议。
谢谢!
【问题讨论】:
-
通常,2xx 代码表示成功 - 204 确实如此不是意思是“用户不存在”,通常 204 表示不需要呈现的成功响应(经典示例是单击“保存”按钮,唯一的响应是否成功)。这里有一个很好的 http 状态代码概述 developer.mozilla.org/en-US/docs/Web/HTTP/Status
-
您是否正在寻求确定 FQDN 是否有效或网站是否可访问?
-
requests.get()正在寻找一个网络服务器在那个地址。这当然有可能主持人存在,但没有运行网络服务器. -
@Grismar 我忘了删除它,我使用了一个特定的代码,其中可以通过检查网络 url 位置获得一个特殊的 url,如果状态为 204,则从那里显示来自网络的链接和状态代码,并且它有效.
-
@DavidMoruzzi 如果两者都有可能
标签: python jupyter-notebook python-requests