重定向与请求历史
默认情况下,除了 HEAD, Requests会自动处理所有重定向。
可以使用响应对象的 history
方法来追踪重定向。
Response.history
是一个:class:Response <requests.Response> 对象的列表,为了完成请求而创建了这些对象。
这个对象列表按照从最老到最近的请求进行排序。
例如,Github将所有的HTTP请求重定向到HTTPS。:
r = requests.get('http://github.com')
r.url
r.status_code
r.history
如果你使用的是GET, OPTIONS, POST, PUT, PATCH 或者 DELETE,,那么你可以通过allow_redirects
参数禁用重定向处理:
r = requests.get('http://github.com', allow_redirects=False)
r.status_code
r.history
如果你使用的是HEAD,你也可以启用重定向:
r = requests.head('http://github.com', allow_redirects=True)
r.url
r.history