Форум сайта python.su
Я отправляю запрос типа http://site.ru/index.php?id=10
меня редиректят на http://site.ru/id/10/
изначально мне известен только первый, как программно получить адрес редиректа для общего случая?
Офлайн
Адрес редиректа указан в HTTP-зоголовке Location. Адрес может абсолютным или относительным:
http://site.ru/id/10/
/id/10
id/10
Как запрос отправляете?
urllib2 ходит по редиректам
Офлайн
У меня сейчас 2.7 стоит, там, вроде нет urllib2.
Отправляю методом GET через urllib.open()
Сейчас поставлю третий, не подскажите как это сделать c urllib2 ?
Офлайн
В 2.7 urllib2 есть.
В 3.1 его переименовали в urllib.request
Офлайн
Та ну да…
andrew@ocean ~/p/py3k> python2.7
Python 2.7.0+ (r27:82500, Sep 15 2010, 18:14:55)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2
>>>
Офлайн
Андрей Светлова, да, спасибо)
В 2.7 urllib2 есть.
В 3.1 его переименовали в urllib.request
Офлайн
http://docs.python.org/library/urllib2.html
http://docs.python.org/dev/library/urllib.request.html
Поиск на странице по слову “header”
Отредактировано (Фев. 25, 2011 13:03:54)
Офлайн
RomicaВы про это?
как программно получить адрес редиректа для общего случая?
import urllib2
req = urllib2.Request('http://google.com')
resp = urllib2.urlopen(req)
req.redirect_dict
>>> {'http://www.google.com/': 1, 'http://www.google.ru/': 1}
Офлайн