【发布时间】:2015-03-10 17:01:29
【问题描述】:
例如,如果整个 url是'http://www.stackoverflow.com?key=value&key1=value1',我只能得到'http://www.stackoverflow.com'。
【问题讨论】:
例如,如果整个 url是'http://www.stackoverflow.com?key=value&key1=value1',我只能得到'http://www.stackoverflow.com'。
【问题讨论】:
urllib2 确实不在重定向后剥离查询字符串:
>>> import urllib2
>>> r = urllib2.urlopen('http://httpbin.org/redirect-to?url=http://example.com/%3Ffoo=bar')
>>> r.geturl()
'http://example.com/?foo=bar'
也许您正在使用的网站再次根据带有查询字符串的请求重定向您?
您可以改用requests library;您可以完全禁用重定向,也可以检查重定向的历史记录:
>>> import requests
>>> r = requests.get('http://httpbin.org/relative-redirect/4')
>>> r.history
[<Response [302]>, <Response [302]>, <Response [302]>, <Response [302]>]
>>> r.history[2].url
u'http://httpbin.org/relative-redirect/2'
【讨论】: