如果在处理过程中发生错误,则response.raise_for_status()返回HTTPError对象。它用于调试请求模块,并且是Python请求的组成部分。 Python请求通常用于从特定资源URI中获取内容。每当我们通过Python向指定URI发出请求时,它都会返回一个响应对象。现在,此响应对象将用于访问某些功能,例如内容,标头等。本文围绕如何检查响应进行说明。raise_for_status()来自响应对象。
如何通过Python请求使用response.raise_for_status()?
为了说明对response.raise_for_status()的使用,让我们ping github.com和geeksforgeeks.org。要运行此脚本,您需要在PC上安装Python和请求。
先决条件-
示例代码-
# import requests module
import requests
# Making a get request
response = requests.get('https://api.github.com/')
# print response
print(response)
# print check if an error has occurred
print(response.raise_for_status())
# ping an incorrect url
response = requests.get('https://geeksforgeeks.org / naveen/')
# print check if an error has occurred
print(response.raise_for_status())
示例实现-
将以上文件另存为request.py并使用
Python request.py
输出-
检查Traceback错误,它表明已发生错误以及错误“Invalid URL”和状态代码404。
先进概念
使用Python发出HTTP请求的库有很多,例如httplib,urllib,httplib2,treq等,但是请求是具有出色功能的最好的库之一。如果请求的任何属性显示为NULL,请使用以下属性检查状态代码。
requests.status_code
如果status_code不在200-29范围内。您可能需要检查开始用于请求的方法+您正在请求的URL的资源。