如何使用Python获取重定向的URL

Mat*_*w H 30 python redirect urllib2

在Python中,我使用urllib2打开一个url.此网址重定向到另一个网址,该网址会重定向到另一个网址.

我希望在每次重定向后打印出url.

例如

- > =重定向到

A - > B - > C - > D.

我想打印B,C和D的URL(A已经知道,因为它是起始URL).

chm*_*lig 46

您可以通过询问当前URL轻松获取D.

req = urllib2.Request(starturl, datagen, headers)
res = urllib2.urlopen(req)
finalurl = res.geturl()
Run Code Online (Sandbox Code Playgroud)

要处理中间重定向,您可能需要使用记录重定向的HTTPRedirectHandler构建自己的开启者.

  • 虽然没有真正回答这个问题,对吧? (6认同)
  • It solves the more common question of "what is the url I arrived to"? (2认同)
  • 这是使用`requests`的类似答案:http://stackoverflow.com/a/20475712/309483 (2认同)

Woo*_*ble 9

可能最好的方法是子类化urllib2.HTTPRedirectHandler.深入研究Python 关于重定向章节可能会有所帮助.