code: def get_redirect_target(self, resp):
          
          # Due to the nature of how requests processes redirects this method will
          # be called at least once upon the original response and at least twice
          # on each subsequent redirect response (if any).
          # If a custom mixin is used to handle this logic, it may be advantageous
          # to cache the redirect location onto the response object as a private
          # attribute.
          if resp.is_redirect:
              location = resp.headers['location']
              # Currently the underlying http module on py3 decode headers
              # in latin1, but empirical evidence suggests that latin1 is very
              # rarely used with non-ASCII characters in HTTP headers.
              # It is more likely to get UTF8 header rather than latin1.
              # This causes incorrect handling of UTF8 encoded location headers.
              # To solve this, we re-encode the location in latin1.
              if is_py3:
                  location = location.encode('latin1')
              return to_native_string(location, 'utf8')
          return None
docs: Receives a Response. Returns a redirect URI or ``None``