Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 15, 2011 20:49:32

Romica
От:
Зарегистрирован: 2011-02-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

Я отправляю запрос типа http://site.ru/index.php?id=10

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

изначально мне известен только первый, как программно получить адрес редиректа для общего случая?



Офлайн

#2 Фев. 16, 2011 00:21:38

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

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

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

urllib2 ходит по редиректам



Офлайн

#3 Фев. 16, 2011 18:45:40

Romica
От:
Зарегистрирован: 2011-02-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

У меня сейчас 2.7 стоит, там, вроде нет urllib2.
Отправляю методом GET через urllib.open()

Сейчас поставлю третий, не подскажите как это сделать c urllib2 ?



Офлайн

#4 Фев. 16, 2011 19:27:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Узнать адрес редиректа

В 2.7 urllib2 есть.
В 3.1 его переименовали в urllib.request



Офлайн

#5 Фев. 16, 2011 19:44:38

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Узнать адрес редиректа

Та ну да…

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
>>>



Офлайн

#6 Фев. 16, 2011 19:54:17

Romica
От:
Зарегистрирован: 2011-02-15
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

Андрей Светлов
В 2.7 urllib2 есть.
В 3.1 его переименовали в urllib.request
а, да, спасибо)

и все же не могу догнать как мне получить редирект header



Офлайн

#7 Фев. 25, 2011 13:01:56

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

http://docs.python.org/library/urllib2.html
http://docs.python.org/dev/library/urllib.request.html
Поиск на странице по слову “header”

Отредактировано (Фев. 25, 2011 13:03:54)

Офлайн

#8 Фев. 28, 2011 12:54:06

Subideal Ox
От:
Зарегистрирован: 2010-11-23
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

Узнать адрес редиректа

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}



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version