Python中的requests.exceptions.HTTPError异常的常见错误代码
发布时间:2024-01-11 18:14:16
在Python中,requests.exceptions.HTTPError是请求返回的HTTP错误的异常类。它继承自requests.exceptions.RequestException类,当requests中的异常条件出现时,会抛出该异常。HTTPError异常包含一个响应属性,可以通过该属性访问返回的响应内容。
下面是HTTPError异常的常见错误代码及其使用例子:
1. 400 Bad Request: 客户端请求的参数有误或缺失。
import requests
url = "https://api.example.com/users"
data = {
"name": "John"
}
response = requests.post(url, data=data)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as err:
if response.status_code == 400:
print("Bad Request: The client request is invalid or missing parameters.")
print(err)
2. 401 Unauthorized: 请求需要认证,但未提供有效凭据。
import requests
url = "https://api.example.com/users"
headers = {
"Authorization": "Bearer invalid_token"
}
response = requests.get(url, headers=headers)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as err:
if response.status_code == 401:
print("Unauthorized: The request requires authentication.")
print(err)
3. 403 Forbidden: 请求被服务器拒绝,无权限访问。
import requests
url = "https://api.example.com/admin"
response = requests.get(url)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as err:
if response.status_code == 403:
print("Forbidden: The request is forbidden.")
print(err)
4. 404 Not Found: 请求的资源不存在。
import requests
url = "https://api.example.com/users/100"
response = requests.get(url)
try:
response.raise_for_status()
except requests.exceptions.HTTPError as err:
if response.status_code == 404:
print("Not Found: The requested resource does not exist.")
print(err)
5. 500 Internal Server Error: 服务器内部错误。
import requests
url = "https://api.example.com/users"
response = requests.post(url, data={"name": "John"})
try:
response.raise_for_status()
except requests.exceptions.HTTPError as err:
if response.status_code == 500:
print("Internal Server Error: The server encountered an internal error.")
print(err)
这些是HTTPError异常的常见错误代码及其使用例子,帮助我们处理请求返回的HTTP错误。通过捕获HTTPError异常,我们可以根据状态码来执行相应的操作。
