Как Python перехватить 302 URL перенаправления - PullRequest
1 голос
/ 08 октября 2010

Я пытаюсь получить данные из Интернета, но страница использует редирект 302 Как я могу использовать Python для получения реального URL?

Ответы [ 3 ]

4 голосов
/ 08 октября 2010

Взгляните на главу 11.7. Обработка перенаправлений из серии Dive Into Python . Это объясняет всю вашу проблему довольно подробно, пример кода и все.

3 голосов
/ 08 октября 2010

Что вы сейчас используете? И urllib, и urllib2 должны обрабатывать это автоматически:

page = urllib.urlopen('http://mrozekma.com/302test.php')
>>> print page.geturl()   # This will show the redirected-to URL
http://mrozekma.com/302test.php?success
>>> print page.readlines()
['Success']
0 голосов
/ 26 мая 2015

Если вы используете http.client.HTTPConnection (3.x) или httplib.HTTPConnection (2.x), просто получите заголовок расположения:

response.getheader('Location')

Я знаю, что это работает по крайней мерена craigslist.org

...