Skip to content

Exception classes

class httpx.HTTPError(message)

RequestErrorHTTPStatusError 的基类。

在发出请求并调用 .raise_for_status() 时, 可用于 try...except 代码块。

例如:

try:
    response = httpx.get("https://www.example.com")
    response.raise_for_status()
except httpx.HTTPError as exc:
    print(f"HTTP Exception for {exc.request.url} - {exc}")
class httpx.RequestError(message, *, request=None)

所有在发出 .request() 时可能发生的异常的基类。

class httpx.TransportError(message, *, request=None)

所有在 Transport API 层级发生的异常的基类。

class httpx.TimeoutException(message, *, request=None)

超时错误的基类。

某个操作已超时。

class httpx.ConnectTimeout(message, *, request=None)

连接主机时超时。

class httpx.ReadTimeout(message, *, request=None)

从主机接收数据时超时。

class httpx.WriteTimeout(message, *, request=None)

向主机发送数据时超时。

class httpx.PoolTimeout(message, *, request=None)

等待从连接池获取连接时超时。

class httpx.NetworkError(message, *, request=None)

网络相关错误的基类。

在与网络交互时发生错误。

class httpx.ConnectError(message, *, request=None)

建立连接失败。

class httpx.ReadError(message, *, request=None)

从网络接收数据失败。

class httpx.WriteError(message, *, request=None)

通过网络发送数据失败。

class httpx.CloseError(message, *, request=None)

关闭连接失败。

class httpx.ProtocolError(message, *, request=None)

协议被违反。

class httpx.LocalProtocolError(message, *, request=None)

客户端违反了协议。

例如,如果用户显式实例化了一个 Request 实例, 但未包含必需的 Host: 头信息,然后直接使用 client.send() 发出请求。

class httpx.RemoteProtocolError(message, *, request=None)

服务器违反了协议。

例如,返回了格式错误的 HTTP 响应。

class httpx.ProxyError(message, *, request=None)

建立代理连接时发生错误。

class httpx.UnsupportedProtocol(message, *, request=None)

尝试向不受支持的协议发出请求。

例如向 ftp://www.example.com 发出请求。

class httpx.DecodingError(message, *, request=None)

由于编码格式错误,响应解码失败。

class httpx.TooManyRedirects(message, *, request=None)

重定向次数过多。

class httpx.HTTPStatusError(message, *, request, response)

响应返回了4xx或5xx的错误HTTP状态码。

可能在调用response.raise_for_status()时抛出。

class httpx.InvalidURL(message)

URL格式不正确或无法解析。

class httpx.CookieConflict(message)

尝试通过名称查找cookie,但存在多个同名cookie。

可能在调用response.cookies.get(...)时发生。

class httpx.StreamError(message)

流异常的基类。

开发人员以无效方式访问请求流时发生的错误。

class httpx.StreamConsumed()

尝试读取或流式传输内容,但内容已被流式传输完毕。

class httpx.StreamClosed()

尝试读取或流式传输响应内容,但请求已被关闭。

class httpx.ResponseNotRead()

尝试访问流式响应内容,但未先调用read()方法。

class httpx.RequestNotRead()

尝试访问流式请求内容,但未先调用read()方法。

异常

本页面列出了使用 HTTPX 时可能引发的异常。

关于如何处理 HTTPX 异常的概述,请参阅异常(快速入门)

异常层次结构

  • HTTPError
    • RequestError
      • TransportError
        • TimeoutException
          • ConnectTimeout
          • ReadTimeout
          • WriteTimeout
          • PoolTimeout
        • NetworkError
          • ConnectError
          • ReadError
          • WriteError
          • CloseError
        • ProtocolError
          • LocalProtocolError
          • RemoteProtocolError
        • ProxyError
        • UnsupportedProtocol
      • DecodingError
      • TooManyRedirects
    • HTTPStatusError
  • InvalidURL
  • CookieConflict
  • StreamError
    • StreamConsumed
    • ResponseNotRead
    • RequestNotRead
    • StreamClosed