【发布时间】:2016-09-26 14:16:33
【问题描述】:
假设我在一个 URL 上执行了一个 GET 请求(例如:http://pubs.acs.org/doi/abs/10.1021/acs.accounts.5b00398),并且我跟踪了这个请求:
response = requests.get(url, timeout=10)
if response.history:
print("Request was redirected")
for resp in response.history:
print("Status code, URL: {}, {}".format(resp.status_code, resp.url))
print("Final destination:")
print("Status code, URL: {}, {}".format(resp.status_code, response.url))
else:
print("Request was not redirected")
输出是:
Request was redirected
Status code, URL: 302, http://pubs.acs.org/doi/abs/10.1021/acs.accounts.5b00398
Status code, URL: 302, http://pubs.acs.org/doi/abs/10.1021/acs.accounts.5b00398?cookieSet=1
Final destination:
Status code, URL: 302, http://pubs.acs.org/doi/abs/10.1021/acs.accounts.5b00398
我想知道一些事情:
- 为什么服务器将我重定向到 url + cookieSet=1 ?给我一块饼干?
- 此重定向需要时间吗?
- 如果是这样,我可以先请求 cookie 页面吗?
- 如果我必须在同一台服务器上执行多个请求,如果服务器给我一个 cookie,我应该使用会话吗?
【问题讨论】:
标签: python python-requests url-redirection