V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ifane
V2EX  ›  Android

中文验证码模拟登陆问题

  •  
  •   ifane · 2016-06-25 13:46:10 +08:00 · 10354 次点击
    这是一个创建于 3106 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图,学校的教务系统变成了中英文数字混合的验证码.原来的模拟登录(只有英文数字)失效了,猜想的登录时候可能把用户输入的验证码经过处理了一下. QQ 拼音截图未命名.png

    我用 chrome 看了一下他 post 提交了啥参数,如图,现在 post 时 checkcode 的参数. QQ 拼音截图未命名 4.png 登录时候就是将验证码经过 URLEncode 编码为 gb2312 格式,我将验证码参数经过修改以后 post 过去, 结果发现还是无法登录

    中文验证码有什么不同么(手动衰)

    13 条回复    2016-06-26 07:44:49 +08:00
    ifane
        1
    ifane  
    OP
       2016-06-25 16:16:09 +08:00
    似乎有一点点的思路,好像它验证码字符串的编码问题,即我输入的验证码是 utf8,但是登录的时候需要将其编码转换为其要求的编码,目前不知道他要求的编码是什么编码
    dong3580
        2
    dong3580  
       2016-06-25 16:41:05 +08:00 via Android
    看起来像是 Unicode , urlencode
    ifane
        3
    ifane  
    OP
       2016-06-25 17:15:23 +08:00
    刚刚在网上搜索 post 中文乱码。可能这个 post 中文验证码涉及到编码的问题
    misaka19000
        4
    misaka19000  
       2016-06-25 17:33:12 +08:00
    这个是进行了 UrlEncode 编码
    可以参考: http://tool.chinaz.com/tools/urlencode.aspx 进行解码

    相比较而言,我更好奇你是怎么识别出来图片上面的东西的?
    just1
        5
    just1  
       2016-06-25 18:24:25 +08:00 via Android
    post 数据自动 url 编码,正常直接发中文就可以了
    ifane
        6
    ifane  
    OP
       2016-06-25 18:36:57 +08:00
    @misaka19000 用户手动输入..
    ifane
        7
    ifane  
    OP
       2016-06-25 18:37:12 +08:00
    @just1 直接正常发中文 提示验证码错误.
    ifane
        8
    ifane  
    OP
       2016-06-25 18:59:41 +08:00
    可能是一条思路:
    post 数据自动 UrlEncode,且是数据 gbk2312 的 UrlEncode 编码. 所以需要输入数据的编码为 gb2312.
    ifane
        9
    ifane  
    OP
       2016-06-25 19:57:19 +08:00
    登录的时候 post 数据要求是 gb2312 编码, Android 的 EditText 得到的字符串默认是 utf8 编码,如果转换编码就会乱码. 找了半天没找到相关的 api 可以设置编码的, 各位兄弟们有直到方法的波
    imNull
        10
    imNull  
       2016-06-25 23:18:09 +08:00 via Android
    搭楼请教下 lz ,由用户手动填写验证码, cookie 的处理是这个思路么?
    向验证码图片发起请求并保存返回的 cookie ,用户输入验证码再附加上一步获取到的 cookie , post 给服务器
    Ouyangan
        11
    Ouyangan  
       2016-06-26 00:13:32 +08:00   ❤️ 1
    @imNull 验证码作用在登陆的时候 , 成功登陆拿到的是已经认证的了 cookie, 往后的操作只需要带上 cookie 服务器就认为你是经过认证的 , 明白了么
    ifane
        12
    ifane  
    OP
       2016-06-26 06:06:14 +08:00 via iPhone   ❤️ 1
    @imNull 我的教务系统有两个 Cookie ,一个是打开教务系统(是打开不是登录)后系统返回你一个 Cookie ,要通过这个 cookie 得到验证码,然后 post 参数加这个 cookie 登陆成功后系统又返回一个 cookie ,以后的操作要通过这俩 cookie 去访问
    imNull
        13
    imNull  
       2016-06-26 07:44:49 +08:00
    @Ouyangan @ifane 我在验证码的请求和处理上有些疑惑,现在明白了,感谢解答。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2669 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:30 · PVG 23:30 · LAX 07:30 · JFK 10:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.