H_Gao
JasonGaoH
采纳率0%
2017-03-02 06:23

用HttpClient模拟登录带验证码的网站,如何保证获取的验证码和提交的验证码一致

5

使用程序模拟登录一个带验证码的网站,我先获取验证码图片的路径,
然后把验证码图片保存到本地,手动识别后,将验证码和用户名和密码一起
post提交模拟登录,我怀疑是获取的验证码和提交的验证码不一致的导致的,
在下载的时候也去请求了这个验证码图片的路径,这样验证码也会刷新,这样导致
验证码不一致的问题出现,请问大神们有什么好的方法来处理这个问题吗?

ps:我尝试百度了下,有人说将下载验证码图片时获取的Cookie取下来然后在和
验证码一起post请求的时候再在之前的Cookie带过去,这样可以解决这个问题,
但是我试了,还是不行。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 4年前

    将下载验证码图片时获取的Cookie取下来然后在和
    验证码一起post请求的时候再在之前的Cookie带过去,这样可以解决这个问题,

    这个说法是正确的,本质上要保证不要两次请求验证码图片,并且保证cookie的sessionid不变。你可以http抓包看你的程序是不是满足这两条

    点赞 1 评论 复制链接分享
  • H_Gao JasonGaoH 4年前

    这是抓取的数据包,大神们帮忙看看,非常感谢

    点赞 评论 复制链接分享
  • H_Gao JasonGaoH 4年前

    图片说明

    点赞 评论 复制链接分享
  • u014439400 happy5035 4年前

    可以尝试多刷新一次图片。

    点赞 评论 复制链接分享
  • Johunqig Johunqig 4年前

    你最好将一次登录过程抓的数据包贴上来,看一看还有没有重要的信息你没post提交的

    点赞 评论 复制链接分享

相关推荐