最近接到一个项目,需求之一是扫码登录,因为遇到一些问题,便去查看京东是怎么实现的。

京东扫码登录流程

1.生成二维码,并在header中返回相关参数
2.通过轮询检测二维码是否被扫描
3.扫描完成后返回success及ticket
4.验证ticket并生成cookie关键参数thor

具体如何交互,教程有很多,这里我不再赘述。

我遇到的问题

项目使用C#进行开发,涉及到网络交互,采用HttpClient进行网络通讯,获取二维码以及cookie一切正常,但是在第二步却一直无法通过验证,一直返回{“code”:257,“msg”:“无效的二维码”},百思不解,困扰了我足足3天。

第4天的时候,索性抛开之前的代码,通过浏览器进行请求,将返回的数据全部手动构造,在写入C#项目中,结果还是不行!

又去翻看前辈们的资料,但是大多没有太细节的东西,第5天,我把HttpClient换成了HttpWebRequest,再次通过浏览器请求,手动构造数据写入C#,居然成功了!

问题的解决

经过反复的摸索,之前不能正常请求的原因是,请求到的cookie中有HttpOnly;这个参数,直接写入下一个请求的时候,会造成错误,于是增加了一个函数,对Cookie进行解析,只取wlfstk_smdl和QRCodeKey构造新的Cookie参与check的请求即可,至此问题顺利解决,项目也顺利完成。

写在后面

以上是个人实际经历,但因时间关系对HttpClient和Cookie没有做过多的研究,如有错误之处欢迎批评指正,同时欢迎一起交流京东爬虫和自动下单,谢谢。

关于模拟京东二维码登录失败的解决方案相关推荐

  1. Python模拟二维码登录百度

    模拟二维码登录百度 写在前面 准备工作 二维码地址 登录状态 获取gid 登录参数 代码部分 二维码展示 获取cookie 完整代码 写在后面 写在前面 前段时间写了利用BDUSS到达百度首页,这一次 ...

  2. java微信二维码登录

    1.注册 微信开放平台:https://open.weixin.qq.com 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5.创建网站应用 提交审 ...

  3. java二维码登录实现

    二维码登录原理 让服务端知道是那个用户要登录,验证通过后 服务端通过webscoket 告知 前端 登录成功即可 前端二维码登录实现 链接: 仿知乎pc登录注册二维码登录页面. 下载下来修改一下即可使 ...

  4. 二维码登录原理+Web端即时通讯技术

    前言 上周在写项目过程中遇到需要实现二维码的登录功能,将这个过程细节记录下来 二维码的登录过程,主要难点在于用户扫码了浏览器展示的二维码,但是浏览器本身是无法知道的,需要服务端告知信息. 涉及到 we ...

  5. 调用网易云二维码登录API,实现微信小程序登录

    调用网易云二维码登录API,实现微信小程序登录 首先前往网易云音乐API官网 binaryify.github.io/NeteaseClou- 首先根据文档的链接下载好配置文件,再根据官方文档启动好本 ...

  6. 二维码登录(三)扫码登录

    承接上篇博客,在进行二维码生成之后,app进行扫码,扫码成功之后,手机点击登录,进行绑定登录关系,后台做自动关联与自动登录. 本文git地址:https://github.com/xvshu/qrlo ...

  7. 百度网盘二维码显示失败

    电脑 百度网盘二维码显示失败 或者 知云文献翻译登录二维码显示失败 一般都是因为IE浏览器设置问题, 解决方法:win+R ->  输入: inetcpl.cpl 后回车  ->点击高级选 ...

  8. 微信测试号实现个人第三方PC端网站二维码登录(代码实现篇)

    我页面使用了生成二维码的js,是网上拿到的(太多转载,具体作者是啥不知道(#^.^#)) 点击打开生成二维码js链接  直接复制js就OK. 好,正文来啦,我代码中是使用了springboot(SSM ...

  9. JAVA 实现扫码二维码登录

    最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...

最新文章

  1. Mac原生Terminal快速登录ssh
  2. 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FFT)
  3. STM32库中几个重要的文件说明
  4. v 3437 powered by ipb_奔驰V系改装订制版 目前最安全的商务车_凤凰网汽车
  5. Java中常见的日志框架
  6. 一起开心寒假训练总复习
  7. 【BZOJ1607】轻拍牛头,筛一筛
  8. 2017.10.10 狼和羊的故事 思考记录
  9. 关于GPS定位反欺诈研究
  10. Linux 内核/sys 文件系统之sysfs 属性文件
  11. 安鸾渗透实战平台--综合渗透--企业网站渗透流程
  12. 单片机(嵌入式)程序分层架构
  13. linux 查看日志以及查看
  14. 前端leader找我谈心:我是如何从刚毕业的前端菜鸟一步步成长为前端工程师的?
  15. win11小鹤双拼改回全拼
  16. AI智能安防视频融合云平台EasyCVR分屏播放不能正常使用是什么原因?
  17. JS阻止form表单提交失败
  18. hdu 5148 Cities(树形背包)
  19. 控件:TextView
  20. 数据的逻辑结构和数据的存储结构

热门文章

  1. 大数据(042)机器学习【神经网络】
  2. python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
  3. IntelliJ IDEA CE 2019.2 发布
  4. 产品3d建模-3d可视化模型实现VR在线展示
  5. 用SDK包开发K66FX18学习笔记(3)
  6. java之excel模板下载
  7. 插件目标[置顶] Maven自定义绑定
  8. Java注释的重要性
  9. workbench设置单元坐标系_浅谈Ansys中的几种坐标系
  10. 三生三世.枕上书 麦田里的守望者坎坷飞的