欢迎访问宙启技术站
智能推送

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异常,我们可以根据状态码来执行相应的操作。