Exception classes
httpx.HTTPError
(message)RequestError
和 HTTPStatusError
的基类。
在发出请求并调用 .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}")
httpx.RequestError
(message, *, request=None)所有在发出 .request()
时可能发生的异常的基类。
httpx.TransportError
(message, *, request=None)所有在 Transport API 层级发生的异常的基类。
httpx.TimeoutException
(message, *, request=None)超时错误的基类。
某个操作已超时。
httpx.ConnectTimeout
(message, *, request=None)连接主机时超时。
httpx.ReadTimeout
(message, *, request=None)从主机接收数据时超时。
httpx.WriteTimeout
(message, *, request=None)向主机发送数据时超时。
httpx.PoolTimeout
(message, *, request=None)等待从连接池获取连接时超时。
httpx.NetworkError
(message, *, request=None)网络相关错误的基类。
在与网络交互时发生错误。
httpx.ConnectError
(message, *, request=None)建立连接失败。
httpx.ReadError
(message, *, request=None)从网络接收数据失败。
httpx.WriteError
(message, *, request=None)通过网络发送数据失败。
httpx.CloseError
(message, *, request=None)关闭连接失败。
httpx.ProtocolError
(message, *, request=None)协议被违反。
httpx.LocalProtocolError
(message, *, request=None)客户端违反了协议。
例如,如果用户显式实例化了一个 Request
实例,
但未包含必需的 Host:
头信息,然后直接使用 client.send()
发出请求。
httpx.RemoteProtocolError
(message, *, request=None)服务器违反了协议。
例如,返回了格式错误的 HTTP 响应。
httpx.ProxyError
(message, *, request=None)建立代理连接时发生错误。
httpx.UnsupportedProtocol
(message, *, request=None)尝试向不受支持的协议发出请求。
例如向 ftp://www.example.com
发出请求。
httpx.DecodingError
(message, *, request=None)由于编码格式错误,响应解码失败。
httpx.TooManyRedirects
(message, *, request=None)重定向次数过多。
httpx.HTTPStatusError
(message, *, request, response)响应返回了4xx或5xx的错误HTTP状态码。
可能在调用response.raise_for_status()
时抛出。
httpx.InvalidURL
(message)URL格式不正确或无法解析。
httpx.CookieConflict
(message)尝试通过名称查找cookie,但存在多个同名cookie。
可能在调用response.cookies.get(...)
时发生。
httpx.StreamError
(message)流异常的基类。
开发人员以无效方式访问请求流时发生的错误。
httpx.StreamConsumed
()尝试读取或流式传输内容,但内容已被流式传输完毕。
httpx.StreamClosed
()尝试读取或流式传输响应内容,但请求已被关闭。
httpx.ResponseNotRead
()尝试访问流式响应内容,但未先调用read()
方法。
httpx.RequestNotRead
()尝试访问流式请求内容,但未先调用read()
方法。
异常
本页面列出了使用 HTTPX 时可能引发的异常。
关于如何处理 HTTPX 异常的概述,请参阅异常(快速入门)。
异常层次结构
- HTTPError
- RequestError
- TransportError
- TimeoutException
- ConnectTimeout
- ReadTimeout
- WriteTimeout
- PoolTimeout
- NetworkError
- ConnectError
- ReadError
- WriteError
- CloseError
- ProtocolError
- LocalProtocolError
- RemoteProtocolError
- ProxyError
- UnsupportedProtocol
- TimeoutException
- DecodingError
- TooManyRedirects
- TransportError
- HTTPStatusError
- RequestError
- InvalidURL
- CookieConflict
- StreamError
- StreamConsumed
- ResponseNotRead
- RequestNotRead
- StreamClosed