Pythonrequests状态码为3

这几天遇到几个接口,都是重定向的,而且还有一个是带着csrf这个参数的,让我苦恼了那么会儿,所以记录下来。

首先对于一个页面重定向的接口,响应返回的状态码为//这种,大致点形象点的就是:登陆A网站-B网站-C网站...(一直到响应为非重定向码为止)

抓包图:

但是我们需要的信息保存在了第一个接口(doLogin)返回的响应头里,其实我们需要的是响应回的Cookie数据。

响应cookie图:

这个随便问下度娘还是有很多文章的(关键词:requests)

直接公布答案需要添加allow_redirects=False,这样就可以让他不会自动重定向了。

respon=requests.post(url,headers=headers,data=data,allow_redirects=False)

然后就可以respon.cookies查看响应回的cookies了。

Python执行的代码:

但是!这个cookies是不对的!不对的!不对的!为什么?想了很久也不知道是哪里出了错,尝试了很多情况后发现原因是这个。

captcha:验证码,hascaptcha:需不需要验证码(no)。很明显不关他们的事。

Username:账号,password:密码。账号密码都正确的也不是这里的问题。

那就剩下_csrf了,一看它的值就知道不是什么正经玩意儿,它到底是干嘛用的,开发不鸟我只好问度娘了。(关键词:csrf)好家伙,看不懂。知道了个名字:跨站请求伪造。找到了张还算清晰的图,硬着头皮看吧。

总之就是为了应对这种攻击,所以开发人员把csrf这个值写到了html中,这样每次重新打开的页面csrf值都是不一样的,A就能识别是不是用户在操作了。那要怎么拿到csrf呢?问下度娘(关键词:登陆带csrf),找了篇jmeter的文章


转载请注明:http://www.aierlanlan.com/tzrz/3664.html

  • 上一篇文章:
  •   
  • 下一篇文章: