browser2: Evolve _fix_redirect for latest python-requests
See commits: e831947be43bc97b39d6e6e573cb0842b67fea80 dacc1d8aafedf80f8736d794005b6c8e8b1d4ad1 b20d171c1c11ecee83b7e4a0beead1e54902d37b The entire redirect thingy will have to be overriden anyway, as it is still broken. Cookies are given domain to domain without any checks.
This commit is contained in:
parent
db304b955c
commit
4b802f32dd
1 changed files with 4 additions and 1 deletions
|
|
@ -169,7 +169,9 @@ class BaseBrowser(object):
|
|||
if request.allow_redirects is False \
|
||||
and request.response.status_code in requests.models.REDIRECT_STATI \
|
||||
and request.config.get('fix-redirect'):
|
||||
if request.response.status_code is codes.found:
|
||||
if (request.response.status_code in (codes.moved, codes.found) \
|
||||
and request.method == 'POST') \
|
||||
or (request.response.status_code == 303 and request.method != 'HEAD'):
|
||||
# force the next request to be GET
|
||||
real_method = request.method
|
||||
request.method = 'GET'
|
||||
|
|
@ -239,6 +241,7 @@ class BaseBrowser(object):
|
|||
kwargs['data'] = data
|
||||
if fix_redirect:
|
||||
kwargs.setdefault('config', {}).setdefault('fix-redirect', True)
|
||||
kwargs.setdefault('allow_redirects', False)
|
||||
if referrer is None:
|
||||
referrer = self._get_referrer(self.url, url)
|
||||
if referrer:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue