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

时间:2019-03-03 21:40:09

标签: python

我想编写一个代码来显示该站点是否正常运行,到目前为止,我尝试了此代码,但它没有正常工作:

代码:

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

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

输出:

<Response [200]>
False

为什么? 我尝试了很多事情,但仍然无法正常工作。 我想编写一个代码来显示该网站是否正常工作。

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

打印的内容只是请求结果的简短表示。

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

.wrapper {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
}

这将是您打印的内容,只是请求结果的简短表示。

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

requestt.status_code == requests.codes.ok

如果状态码为200(确定),则为requestt.status_code == requests.codes.ok ,否则为True。无论如何,False将是整数的状态代码。

答案 2 :(得分:0)

这样做的原因是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