Skip to content

Exceptions

This page lists exceptions that may be raised when using HTTPXYZ.

For an overview of how to work with HTTPXYZ exceptions, see Exceptions (Quickstart).

The exception hierarchy

  • 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

Exception classes

class httpxyz.HTTPError(message)

Base class for RequestError and HTTPStatusError.

Useful for try...except blocks when issuing a request, and then calling .raise_for_status().

For example:

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

Base class for all exceptions that may occur when issuing a .request().

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

Base class for all exceptions that occur at the level of the Transport API.

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

The base class for timeout errors.

An operation has timed out.

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

Timed out while connecting to the host.

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

Timed out while receiving data from the host.

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

Timed out while sending data to the host.

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

Timed out waiting to acquire a connection from the pool.

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

The base class for network-related errors.

An error occurred while interacting with the network.

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

Failed to establish a connection.

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

Failed to receive data from the network.

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

Failed to send data through the network.

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

Failed to close a connection.

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

The protocol was violated.

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

A protocol was violated by the client.

For example if the user instantiated a Request instance explicitly, failed to include the mandatory Host: header, and then issued it directly using client.send().

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

The protocol was violated by the server.

For example, returning malformed HTTP.

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

An error occurred while establishing a proxy connection.

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

Attempted to make a request to an unsupported protocol.

For example issuing a request to ftp://www.example.com.

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

Decoding of the response failed, due to a malformed encoding.

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

Too many redirects.

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

The response had an error HTTP status of 4xx or 5xx.

May be raised when calling response.raise_for_status()

class httpxyz.InvalidURL(message)

URL is improperly formed or cannot be parsed.

class httpxyz.CookieConflict(message)

Attempted to lookup a cookie by name, but multiple cookies existed.

Can occur when calling response.cookies.get(...).

class httpxyz.StreamError(message)

The base class for stream exceptions.

The developer made an error in accessing the request stream in an invalid way.

class httpxyz.StreamConsumed()

Attempted to read or stream content, but the content has already been streamed.

class httpxyz.StreamClosed()

Attempted to read or stream response content, but the request has been closed.

class httpxyz.ResponseNotRead()

Attempted to access streaming response content, without having called read().

class httpxyz.RequestNotRead()

Attempted to access streaming request content, without having called read().