python站点请求,布尔类上的打印错误

2024-05-01 21:49:42 发布

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

我想制作一个代码来显示站点是否工作,到目前为止,我尝试了这个代码,但它不工作:

代码:

import requests
requestt = requests.get("https://www.google.com")

status = (requestt)
print(status)
print(status == "<Response [200]>")

输出:

<Response [200]>
False

为什么?? 我试过很多东西,但还是不起作用。 我想做一个代码,如果该网站是工作或不


Tags: 代码httpsimportcomfalseget站点网站
3条回答

您打印的只是请求结果的简短表示

如果要测试状态,可以使用:

requestt.status_code == requests.codes.ok

它将是您打印的只是请求结果的简短表示

如果要测试状态,可以使用:

requestt.status_code == requests.codes.ok

如果状态码是200(确定),则为True,否则为False。在任何情况下,requestt.status_code都是整数形式的状态码

requests库中Response对象的响应状态存储在status_code属性中。 关于这一点,请使用:

import requests
requestt = requests.get("https://www.google.com")

status = requestt.status_code
print(status)
print(status == 200)

原因是status变量是<class 'requests.models.Response'>类型的对象。通过运行以下命令可以看到这一点:

import requests
requestt = requests.get("https://www.google.com")

status = (requestt)
print(type(status))

要实际检索状态,需要访问请求对象的status_code属性:

import requests
requestt = requests.get('https://www.google.com')

status = requestt.status_code
print(type(status))  # will now return "<class 'int'>"

print(status == 200)  # will print "True"

status_code属性的文档是in the documentation for the Requests library

相关问题 更多 >