关于URLEncode时+号的问题

来源:互联网 发布:linux 挂载ntfs硬盘 编辑:程序博客网 时间:2024/06/01 10:26
关于URLEncode和URLDecode


get方法
浏览器会先把空格变成%20 而+号还保留
然后接收到请求之后decode的时候,
        case '+':
                sb.append(' ');
                i++;
                needToChange = true;
                break;
会把+号变成空格,
然后这个字符串中原来的空格(%20)解码之后还是空格
所以导致get方法发送的时候会没有+号


post方法
选择x-www-form-urlencoded的方式发送
这时候会把+号变成%2B  空格变成+,
if (c == ' ') {
                    c = '+';
                    needToChange = true;
                }
然后decode的时候把+号变成空格了,%2B解码成+。


所以来说,post方式直接用URLEncode加密解密是没有问题的
get方式的话就要注意+号了
0 0
原创粉丝点击