在页面上抓包,该登录接口有如下参数:
第一个坑:
https请求需要加verify=False
requests.post(url,data,verify=False)
第二个坑:
没注意传参格式,用json传参请求接口,接口返回原始登录页面,为啥传参格式不对接口没报错呢,因为该接口没有接收到参数时也可调通。。。
实际接口要求参数格式为x-www-form-urlencoded
第三个坑:
传参格式正确之后,postman调用接口一直no-response,python代码调用一直返回服务器积极拒绝,怀疑是传的参数的内容有问题
经过多次抓包分析,发现传参的lt和execution字段是在实时变化的,抓包发现网页上登录时,浏览器在请求登录接口前,调用了一次get登陆页面,调用接口返回的是登陆页面的html,里面就可以解析出lt参数和execution参数
第四个坑:
取出lt参数和execution参数后,调用登录接口还是返回服务器积极拒绝
通过一通搜索+请教同事,发现调用get登陆页面获取参数和调用登录接口这两步操作,需要进行session保持,
实例化一个requests.session()对象,使用该对象的get和post方法来调用接口即可
实例如下:
至此,才终于调通了这个破登录接口!!!