Найти - Пользователи
Полная версия: Узнать адрес редиректа
Начало » Web » Узнать адрес редиректа
1
Romica
Я отправляю запрос типа http://site.ru/index.php?id=10

меня редиректят на http://site.ru/id/10/

изначально мне известен только первый, как программно получить адрес редиректа для общего случая?
dimabest
Адрес редиректа указан в HTTP-зоголовке Location. Адрес может абсолютным или относительным:
http://site.ru/id/10/
/id/10
id/10

Как запрос отправляете?

urllib2 ходит по редиректам
Romica
У меня сейчас 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
>>>
Romica
Андрей Светлов
В 2.7 urllib2 есть.
В 3.1 его переименовали в urllib.request
а, да, спасибо)

и все же не могу догнать как мне получить редирект header
Ferroman
http://docs.python.org/library/urllib2.html
http://docs.python.org/dev/library/urllib.request.html
Поиск на странице по слову “header”
Subideal Ox
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}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB