class documentation

An Agent wrapper which handles HTTP redirects.

The implementation is rather strict: 301 and 302 behaves like 307, not redirecting automatically on methods different from GET and HEAD.

See BrowserLikeRedirectAgent for a redirecting Agent that behaves more like a web browser.

Parameters
redirectLimitThe maximum number of times the agent is allowed to follow redirects before failing with a error.InfiniteRedirection.
sensitiveHeaderNamesAn iterable of bytes enumerating the names of headers that must not be transmitted when redirecting to a different origins. These will be consulted in addition to the protocol-specified set of headers that contain sensitive information.
Present Since
11.1
Method __init__ Undocumented
Method request Send a client request following HTTP redirects.
Method _handleRedirect Handle a redirect response, checking the number of redirects already followed, and extracting the location header fields.
Method _handleResponse Handle the response, making another request if it indicates a redirect.
Method _resolveLocation Resolve the redirect location against the request URI.
Class Variable _redirectResponses A list of HTTP status codes to be redirected for GET and HEAD methods.
Class Variable _seeOtherResponses A list of HTTP status codes to be redirected for any method and the method altered to GET.
Instance Variable _agent Undocumented
Instance Variable _redirectLimit Undocumented
Instance Variable _sensitiveHeaderNames Undocumented
def __init__(self, agent: IAgent, redirectLimit: int = 20, sensitiveHeaderNames: Iterable[bytes] = ()): (source)

Undocumented

def request(self, method, uri, headers=None, bodyProducer=None): (source)

Send a client request following HTTP redirects.

See Also
Agent.request.
def _handleRedirect(self, response, method, uri, headers, redirectCount): (source)

Handle a redirect response, checking the number of redirects already followed, and extracting the location header fields.

def _handleResponse(self, response, method, uri, headers, redirectCount): (source)

Handle the response, making another request if it indicates a redirect.

def _resolveLocation(self, requestURI, location): (source)

Resolve the redirect location against the request URI.

Parameters
requestURI:bytesThe request URI.
location:bytesThe redirect location.
Returns
bytesFinal resolved URI.
_redirectResponses = (source)

A list of HTTP status codes to be redirected for GET and HEAD methods.

_seeOtherResponses = (source)

A list of HTTP status codes to be redirected for any method and the method altered to GET.

Undocumented

_redirectLimit = (source)

Undocumented

_sensitiveHeaderNames = (source)

Undocumented