Я пытаюсь получить данные из Интернета, но страница использует редирект 302 Как я могу использовать Python для получения реального URL?
Взгляните на главу 11.7. Обработка перенаправлений из серии Dive Into Python . Это объясняет всю вашу проблему довольно подробно, пример кода и все.
Что вы сейчас используете? И urllib, и urllib2 должны обрабатывать это автоматически:
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']
Если вы используете http.client.HTTPConnection (3.x) или httplib.HTTPConnection (2.x), просто получите заголовок расположения:
response.getheader('Location')
Я знаю, что это работает по крайней мерена craigslist.org