模拟12306登录问题

KB_zhu 2016-09-21 07:07:46
最近想搞个抢票软件,因此对12306进行抓包分析。
经过抓包后发现登陆的流程:
1、获取验证码图片:
https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.32534953888081053
2、验证验证码:
Request URL:https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn
3、验证登陆:
https://kyfw.12306.cn/otn/login/loginAysnSuggest

前两部都顺利的通过,可是再第三部就死活不成功,一直都是返回系统繁忙,请稍后重试!

有没有遇到过同样的问题解答一下
...全文
3645 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fate渔民 2019-04-10
  • 打赏
  • 举报
回复
纠结了半天终于解决了,我说一下我的解决办法:出现这个问题的主要原因是没有保留状态,需要再第一步获取验证码之前先取get登录的页面保留状态,然后问题就解决了。如果不明白私信我吧。。。


这段话啥意思啊。。。、
我是这样写的,一直说网络错误

 


VHttpPost post = new VHttpPost("https://kyfw.12306.cn/passport/web/login");
VParames parames = new VParames();
parames.put("username", Page.userNameFidld.getText());
parames.put("answer", newCode);
parames.put("appid", "otn");
parames.put("password", new String(Page.passwordField.getPassword()));
VHeader vHeader = new VHeader();
vHeader.put("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 设置请求头消息User-Agent)
post.setHeader(vHeader);
// AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36
// Core/1.63.6824.400 QQBrowser/10.3.3127.400\"");
post.setParames(parames);
VHttpResponse res = VBrowser.execute(post);
String body = VHttpUtils.outHtml(res.getBody()); // 将网页内容转为文本
try {
JSONObject json = new JSONObject(body);
if ("0".equals(json.get("result_code").toString())) {
// JSONObject json2 = new JSONObject(json.get("data").toString());
// if (json2.length()>1 && "Y".equals(json2.get("loginCheck").toString())) {
Page.msgLabel.setText("登录成功,正在跳转到主页");


XBodhi. 2017-03-01
  • 打赏
  • 举报
回复
参考 360 的JS
lingdong1126 2017-02-10
  • 打赏
  • 举报
回复
纠结了半天终于解决了,我说一下我的解决办法:出现这个问题的主要原因是没有保留状态,需要再第一步获取验证码之前先取get登录的页面保留状态,然后问题就解决了。如果不明白私信我吧。。。
lingdong1126 2017-02-10
  • 打赏
  • 举报
回复
同样的问题。。。
张小方32 2017-01-17
  • 打赏
  • 举报
回复
我也遇到了这个问题,楼主先在解决了吗?求指导一下。QQ:906106643
云鹤翔天 2017-01-07
  • 打赏
  • 举报
回复
好像还有第四步:要POST https://kyfw.12306.cn/otn/login/userLogin
云鹤翔天 2017-01-07
  • 打赏
  • 举报
回复
第二个的返回值你确定包括有{result:1,msg:TRUE}吗?
李浩凡 2016-12-08
  • 打赏
  • 举报
回复
楼主,问题怎么解决的。
Antoneo_odl 2016-11-29
  • 打赏
  • 举报
回复
题主找到问题原因没
Antoneo_odl 2016-11-29
  • 打赏
  • 举报
回复
我也遇见了。。。
我是飞云 2016-09-22
  • 打赏
  • 举报
回复
模拟来源页没有? 各种环境都应该要模拟准确,像这种高安全度的设计甚至连表单名都有可能是随机的

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧