postman模拟带验证码登录问题

本文记录了使用Postman模拟带有验证码的网站登录过程中遇到的问题及解决思路。从最初的设想,通过分析请求头、User-Agent、Keep-Alive功能,到发现Cookie参数被覆盖,最后找到问题关键在于Postman的跨域限制和特定Header设置无效,通过开启拦截器成功添加cookie完成登录。
摘要由CSDN通过智能技术生成

今天研究一个问题,就是用postman模拟网站的带验证码登录。本文把这一过程做个流水账式记录。

我最初的设想是这样:

http是一种无连接无状态协议,请求相应完毕连接即断开,由于其无状态,重复请求的身份认证一般通过session、cookie、url重写这几种方式来实现,我们的网站登录采用第三方库生成图片验证码,同时把验证码值存入session中。那么我可以先用浏览器debug登录请求,获取jsessionid的cookie写入postman中,然后拼装登录json进行登录。

实际结果:

登录失败,验证码错误。

猜测:是不是跟user-agent有关?

验证:postman添加了跟chrome一样的user-agent,依然无效。

猜测:header里面发现了Connection:keepAlive,这是什么?是不是连接不关闭了导致外部请求即使有jsessionid也不能访问这个session?

验证:keepalive是新版本http中加入的功能,作用是在服务器和浏览器都支持的前提下让连接不关闭,这样就避免了频繁重建连接带来的效率问题。怎么才是支持呢?浏览器如果支持,会在请求头添加这个Connection:keepAlive,服务器如果支持,在接到之后会在响应头部也添加这一字段。拿百度来验证,请求和响应都带有这个字段,明显百度是支持这个功能的,但是我们的服务器并不支持。所以这不是原因。

猜测:是不是传的cookie参数无效ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值