有没有一种方法可以在不使用 python 请求的情况下检查网站是否正常运行?

问题描述 投票:0回答:1

当使用请求检查网站是否已启动时,我收到错误代码 403,但该网站已启动。除了使用请求来检查它是否启动之外,还有其他方法吗?

这是我试过的

import urllib.request
code = urllib.request.urlopen(url).getcode()
python python-requests web-testing
1个回答
0
投票

不知道你查的是什么网站,很难说是什么原因导致这样的结果

这通常是由于服务器强制要求用户具有类似人类的用户代理标头的策略引起的,但 urlopen 默认情况下不这样做(更多信息)。所以你应该创建

Request
类实例,传递标头
User-Agent
和值
"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"
并传递它而不是 url

可能是您没有使用 HTTPS。我什至见过网站为了防止网络抓取工具使用 javascript 生成授权令牌的情况。

希望能帮助找到错误原因

但更进一步,强烈建议使用更高级别的 HTTP 客户端 接口,如请求或 aiohttp.

© www.soinside.com 2019 - 2024. All rights reserved.