如图,学校的教务系统变成了中英文数字混合的验证码.原来的模拟登录(只有英文数字)失效了,猜想的登录时候可能把用户输入的验证码经过处理了一下.
我用 chrome 看了一下他 post 提交了啥参数,如图,现在 post 时 checkcode 的参数. 登录时候就是将验证码经过 URLEncode 编码为 gb2312 格式,我将验证码参数经过修改以后 post 过去, 结果发现还是无法登录
1
ifane OP 似乎有一点点的思路,好像它验证码字符串的编码问题,即我输入的验证码是 utf8,但是登录的时候需要将其编码转换为其要求的编码,目前不知道他要求的编码是什么编码
|
2
dong3580 2016-06-25 16:41:05 +08:00 via Android
看起来像是 Unicode , urlencode
|
3
ifane OP 刚刚在网上搜索 post 中文乱码。可能这个 post 中文验证码涉及到编码的问题
|
4
misaka19000 2016-06-25 17:33:12 +08:00
这个是进行了 UrlEncode 编码
可以参考: http://tool.chinaz.com/tools/urlencode.aspx 进行解码 相比较而言,我更好奇你是怎么识别出来图片上面的东西的? |
5
just1 2016-06-25 18:24:25 +08:00 via Android
post 数据自动 url 编码,正常直接发中文就可以了
|
6
ifane OP @misaka19000 用户手动输入..
|
8
ifane OP 可能是一条思路:
post 数据自动 UrlEncode,且是数据 gbk2312 的 UrlEncode 编码. 所以需要输入数据的编码为 gb2312. |
9
ifane OP 登录的时候 post 数据要求是 gb2312 编码, Android 的 EditText 得到的字符串默认是 utf8 编码,如果转换编码就会乱码. 找了半天没找到相关的 api 可以设置编码的, 各位兄弟们有直到方法的波
|
10
imNull 2016-06-25 23:18:09 +08:00 via Android
搭楼请教下 lz ,由用户手动填写验证码, cookie 的处理是这个思路么?
向验证码图片发起请求并保存返回的 cookie ,用户输入验证码再附加上一步获取到的 cookie , post 给服务器 |
11
Ouyangan 2016-06-26 00:13:32 +08:00 1
@imNull 验证码作用在登陆的时候 , 成功登陆拿到的是已经认证的了 cookie, 往后的操作只需要带上 cookie 服务器就认为你是经过认证的 , 明白了么
|