11.5.4 HTTPRedirectHandler Objects
Keywords: lib

##
11.5.4 HTTPRedirectHandler Objects

Note: Some HTTP redirections require action from this module's client code. If this is the case, `HTTPError` is raised. See RFC 2616 for details of the precise meanings of the various redirection codes.

`redirect_request`(req, fp, code, msg, hdrs)
  Return a `Request` or `None` in response to a redirect. This is called by the default implementations of the `http_error_30x()` methods when a redirection is received from the server. If a redirection should take place, return a new `Request` to allow `http_error_30x()` to perform the redirect. Otherwise, raise `HTTPError` if no other `Handler` should try to handle this URL, or return `None` if you can't but another `Handler` might.

  Note: The default implementation of this method does not strictly follow RFC 2616: it allows automatic 302 redirection of POST requests, because essentially all HTTP clients do this.

`http_error_301`(req, fp, code, msg, hdrs)
  Redirect to the `Location:` URL. This method is called by the parent `OpenerDirector` when getting an HTTP `moved permanently' response.

`http_error_302`(req, fp, code, msg, hdrs)
  The same as `http_error_301()`, but called for the `found' response.

`http_error_303`(req, fp, code, msg, hdrs)
  The same as `http_error_301()`, but called for the `see other' redirect response.