From b20d171c1c11ecee83b7e4a0beead1e54902d37b Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 30 Mar 2012 23:28:07 -0400 Subject: [PATCH] POST redirect => GET #269 --- requests/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/requests/models.py b/requests/models.py index 881b7c1..b90f1a3 100644 --- a/requests/models.py +++ b/requests/models.py @@ -216,6 +216,7 @@ class Request(object): self.cookies.update(r.cookies) if r.status_code in REDIRECT_STATI and not self.redirect: + while (('location' in r.headers) and ((r.status_code is codes.see_other) or (self.allow_redirects))): @@ -250,6 +251,15 @@ class Request(object): else: method = self.method + # Do what the browsers do if strict_mode is off... + if (not self.config.get('strict_mode')): + + if r.status_code in (codes.moved, codes.found) and self.method == 'POST': + method = 'GET' + + if (r.status_code == 303) and self.method != 'HEAD': + method = 'GET' + # Remove the cookie headers that were sent. headers = self.headers try: -- 2.34.1