0

Создание запроса GET с модулем питона запросов заканчивается странным URL:Python просит модуль заканчивается странным Перенаправление

>>> import requests 
>>> r = requests.get("http://t.co/Uspy071j") 
>>> print r.url 
"http://feeds.feedburner.com/%257Er/LesArdoises/%257E3/bD2JuJagz5I/roxino-cest-tout-vert.html?utm_source=twitterfeed&utm_medium=twitter" 

Этот URL заканчивается с ошибкой 400. Но использование RestKit для того же URL, то final_url верните правильное значение:

>>> import restkit 
>>> r = restkit.request("http://t.co/Uspy071j", follow_redirect=True) 
>>> print r.final_url 
"http://lesardoises.com/6277/roxino-cest-tout-vert.html?utm_medium=twitter&utm_source=twitterfeed" 

В чем проблема с запросами?

+0

Использование 'curl' и после трех' 301' переназначения, некоторые HTML, наконец, получить. –

ответ

0

Работы здесь:

In [6]: import requests 

In [7]: r = requests.get("http://t.co/Uspy071j") 

In [8]: r 
Out[8]: <Response [200]> 

In [9]: print r.url 
http://lesardoises.com/6277/roxino-cest-tout-vert.html?utm_medium=twitter&utm_source=twitterfeed 
2

Он будет работать должным образом, если вы установите текущий мастер-ветвь от https://github.com/kennethreitz/requests.git вместо последнего меченого выпуска.

Запросы неверно цитируют тильды в последнем URL-адресе. Вместо запроса http://feedproxy.google.com/~r/LesArdoises/~3/bD2JuJagz5I/roxino-cest-tout-vert.html?utm_source=twitterfeed&utm_medium=twitter он запрашивает http://feeds.feedburner.com/%257Er/LesArdoises/%257E3/bD2JuJagz5I/roxino-cest-tout-vert.html?utm_source=twitterfeed&utm_medium=twitter

я могу воспроизвести это с последней версией запросов (0.10.1), но это, кажется, фиксируются в неизданных мастерах (и развивать) отрасль.

коммит, который исправил ошибку был https://github.com/kennethreitz/requests/commit/cb64d311719e627df0f78c8446d40326899206c3