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

posted @   我是真的大米  阅读(48673)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示