Ответ 1
Вероятно, лучший способ - подкласс urllib2.HTTPRedirectHandler
. Dive Into Python о перенаправлениях может быть полезно.
В Python я использую urllib2 для открытия URL-адреса. Этот url перенаправляет на другой URL-адрес, который перенаправляет на еще один URL-адрес.
Я хочу распечатать URL-адрес после каждого перенаправления.
Например
- >= перенаправляет на
A → B → C → D
Я хочу напечатать URL-адреса B, C и D (уже известно, потому что это стартовый URL-адрес).
Вероятно, лучший способ - подкласс urllib2.HTTPRedirectHandler
. Dive Into Python о перенаправлениях может быть полезно.
Вы можете легко получить D, просто запросив текущий URL.
req = urllib2.Request(starturl, datagen, headers)
res = urllib2.urlopen(req)
finalurl = res.geturl()
Чтобы справиться с промежуточными переадресациями, вам, вероятно, понадобится создать собственный открыватель, используя HTTPRedirectHandler, который записывает переадресации.