302错误:redirect,代表暂时性转移;意思就是你访问网址a,但是因为服务端的拦截器或者其他代码处理,会被重定向到网址b。
利用requests模拟登录时,直接使用request.get(url),容易造成 302 重定向,究其原因是因为cookie不持久(requests自带cookie处理,但不持久),
解决之法是使用 request.Session()对象来持久化cookie等状态。
例如:
s = requests.Session() response = s.get(url, headers=headers) #其他操作
另外会造成302重定向的情况是:利用Session对象请求页面时没有传入相应的请求头(例如:Referer),导致服务器验证不通过而返回
重定向报文。解决办法就是构建相应请求头,获取页面时传入即可。
更多Python知识请关注栏目。