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

认识Python中的requests.exceptions模块

发布时间:2023-12-25 03:45:07

Python中的requests.exceptions模块包含了许多关于网络请求时可能发生的异常的定义。使用这个模块可以更好地处理各种网络请求的异常情况,从而提高程序的健壮性。下面是一些常见的requests异常以及它们的使用示例。

1. requests.exceptions.RequestException:这是所有requests异常的基类,可以捕获所有requests的异常。

import requests
from requests.exceptions import RequestException

url = "http://www.example.com"
try:
    response = requests.get(url)
    response.raise_for_status()  # 检查请求的状态码是否为200
    print(response.text)
except RequestException as e:
    print("请求发生异常:", str(e))

2. requests.exceptions.ConnectionError:当请求的URL无法建立连接时,会引发这个异常。

import requests
from requests.exceptions import ConnectionError

url = "http://www.example.com"
try:
    response = requests.get(url)
    response.raise_for_status()
    print(response.text)
except ConnectionError:
    print("无法建立连接")

3. requests.exceptions.HTTPError:当HTTP请求返回错误状态码时,会引发这个异常。

import requests
from requests.exceptions import HTTPError

url = "http://www.example.com/not-found"
try:
    response = requests.get(url)
    response.raise_for_status()
    print(response.text)
except HTTPError as e:
    print("HTTP错误:", str(e))

4. requests.exceptions.Timeout:当请求超时时,会引发这个异常。

import requests
from requests.exceptions import Timeout

url = "http://www.example.com"
try:
    response = requests.get(url, timeout=3)
    response.raise_for_status()
    print(response.text)
except Timeout:
    print("请求超时")

5. requests.exceptions.TooManyRedirects:当请求的URL重定向次数过多时,会引发这个异常。

import requests
from requests.exceptions import TooManyRedirects

url = "http://www.example.com"
try:
    response = requests.get(url, allow_redirects=False)
    response.raise_for_status()
    print(response.text)
except TooManyRedirects:
    print("重定向次数过多")

总之,requests.exceptions模块提供了一些常见的网络请求异常的定义,可以根据具体的需求使用对应的异常来处理异常情况,从而增加程序的健壮性和可靠性。在实际的网络请求中,可以根据具体的情况选择捕获特定的异常或者捕获通用的请求异常来查看更详细的错误信息。