手动用浏览器登录目标网址后,
把响应数据里的token复制出来,
再复制到python的请求头里,
之后用python对某页面发起请求,
可以正常得到相应数据。
但是直接用python登录,获取到token后,
添加到请求头,
无法继续对后续的页面发起请求,响应代码500,
一般这是什么原因引起的呢?
该往哪个方向排查?
python登录和浏览器手动登录,
用的一模一样的请求头,
并且服务器响应的格式完全相同,
响应内容包括token看起来也没问题。
手动用浏览器登录目标网址后,
把响应数据里的token复制出来,
再复制到python的请求头里,
之后用python对某页面发起请求,
可以正常得到相应数据。
但是直接用python登录,获取到token后,
添加到请求头,
无法继续对后续的页面发起请求,响应代码500,
一般这是什么原因引起的呢?
该往哪个方向排查?
python登录和浏览器手动登录,
用的一模一样的请求头,
并且服务器响应的格式完全相同,
响应内容包括token看起来也没问题。
500的响应头 默认是服务器端错误,
核对下面信息:
既然请求头 和 响应格式,你核对过了完全相同,那么就再核对下payload。
如果还是不行,如下所示。
其实如果你可以看到服务器端的输出日志的话,你可以看下500的具体报错是什么,
这种一般是服务器端接口代码逻辑报错,比如有传输过来的数据类型异常或者其它异常处理没考虑到导致的。
这样可以直接定位到具体的错误处,从而定位到具体的请求的错误原因
可以用下面方式检查下
1、下载POSTMAN,模拟请求,检查是否正确,如果模拟成功,进行下一步。
2、POSTMAN支持输出为CODE,支持Python requests格式的导出,复制粘贴后可以直接运行。