'Follows any redirects by requesting responses from the server using GET.'

def _handle_redirects(self, response, **extra):

    response.redirect_chain = []
    while (response.status_code in (301, 302, 303, 307)):
        url = response['Location']
        (scheme, netloc, path, query, fragment) = urlsplit(url)
        redirect_chain = response.redirect_chain
        redirect_chain.append((url, response.status_code))
        if scheme:
            extra['wsgi.url_scheme'] = scheme
        response = self.get(path, QueryDict(query), follow=False, **extra)
        response.redirect_chain = redirect_chain
        if (response.redirect_chain[(-1)] in response.redirect_chain[0:(-1)]):
            break
    return response
