• get请求url参数中有+、空格、=、%、&、#等特殊符号的问题解决


    url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?
    解决办法
    将这些字符转化成服务器可以识别的字符,对应关系如下:
    URL字符转义

    用其它字符替代吧,或用全角的。

    +    URL 中+号表示空格                                 %2B   
    空格 URL中的空格可以用+号或者编码           %20 
    /   分隔目录和子目录                                     %2F     
    ?    分隔实际的URL和参数                             %3F     
    %    指定特殊字符                                          %25     
    #    表示书签                                                  %23     
    &    URL 中指定的参数间的分隔符                  %26     
    =    URL 中指定参数的值                                %3D

    比如我这里做的一个SSO功能中

    http://127.0.0.1:8080/mgWeb/login.do?type=jxemisLogin&url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002&is_timeout=&is_history=no&staffId=******

    url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002&is_timeout=&is_history=no

    url=中含有&符号

    可以使用 %26 替换 & 

    改动后:

    http://127.0.0.1:8080/mgWeb/login.do?type=jxemisLogin&url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002%26is_timeout=%26is_history=no&staffId=******

    url=http://localhost:8080/shop/admin/jxncOrder!qryOrderDetail.do?order_id=17347001822420000002%26is_timeout=%26is_history=no

    将特殊符号替换掉

    var str = '少林寺3#101';
    var result = str.replace(/#/g, '%23');
    console.log('result:' + result);
     
    ————————————————
    版权声明:本文为CSDN博主「weixin_41655541」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_41655541/article/details/93507395

  • 相关阅读:
    「Java分享客栈」Nacos配置中心称王称霸,我Apollo一生也不弱于人!
    超详细干货!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群
    中科大下载android源码
    binder框架核心类关系图
    BinderService模板类
    SpringBoot启动命令行参数【D】和【】的区别
    MySQL快速生成大量数据的SQL存储过程
    【已解决】'sql_server.pyodbc' isn't an available database backend.
    python 常用模块
    hive正则
  • 原文地址:https://www.cnblogs.com/chenqingbin/p/11511833.html
Copyright © 2020-2023  润新知