2015-10-09 2 views
2

В Python, как бы я найти URL только первого редиректаPython: Найти первый Перенаправление ВГД

Т.е. если URL перенаправления от A -> B -> CI хочу просто вернуть URL-адрес Аргументы B

urllib кажется, возвращают только конечный URL, но я хочу перечислить посредник, URL-адрес

ответ

3

Я не уверен, если вы обязуются использовать urllib2, или если это только первое, что вы пробовали.

, если вы открыты к использованию запросов:

import requests 
url = 'someurl' 
r = requests.get(url) 

print("first redirect",r.history[0].url) 
print('full history') 

for n,h in enumerate(r.history): 
    print(n,h.url) 

вы можете отфильтровать вещи, которые arn't редирект с помощью h.status_code

, например

codes_i_want = [301,some_code,some_other_code] 
result = [h for h in r.history if h.status_code in codes_i_want] 

if(result): 
    print(result[0]) 
Смежные вопросы