最近在使用 url 的 queryString 传递参数时,因为参数的值,被DES加密了,而加密得到的是 Base64的编码字符串

类似于:
za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g==
显然 这里面含有了 特殊字符: / + = 等等,如果直接通过url 来传递该参数:
url = "xxxxx?param=" + "za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g==";
那么在服务端获得 param 会变成类似于下面的值:
"za4T8MHB/6mhmYgXB7IntyyOUL7Cl 0jv5rFxAIFVji8GDrcf k8g=="
我们看到 三个 + 号消失了。
其原因就是:如果url参数值含有特殊字符时,需要使用 url 编码。
url = "xxxxx?param=" + URLEncoder.encode("xxx", "utf-8");
然后服务端获取时:
String param = URLDecoder.decode(param, "utf-8");
这样才能获得正确的值: "za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g=="
其实 js 中也有类似功能的函数:
参见:js中编码函数:escape,encodeURI,encodeURIComponent
注意事项:
URLEncoder should be the way to go. You only need to keep in mind to encode only the individual query string parameter name and/or value, not the entire URL, for sure not the query string parameter separator character & nor the parameter name-value separator character =
String q = "random word 拢500 bank $"; String url = "http://example.com/query?q=" + URLEncoder.encode(q, "UTF-8");
URLEncoder 必须 仅仅 编码 参数 或者参数的值,不能编码整个 url,也不能一起对 param=value 进行编码。而是应该: param=URLEncode(value, "utf-8")
或者 URLEncode(param, "utf-8")=URLEncode(value, "utf-8")
因为 url 中的 & 和 = 他们是作为参数之间 以及 参数和值之间的分隔符的。如果一起编码了,就无法区分他们了。
进一步参考文档:
https://www.talisman.org/~erlkonig/misc/lunatech%5Ewhat-every-webdev-must-know-about-url-encoding/
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# url参数传递
# 特殊字符
# url参数encode
# urldecode
# Java之URLEncoder、URLDecoder、Base64编码与解码方式
# java使用URLDecoder和URLEncoder对中文字符进行编码和解码
# Java中的UrlDecoder 和 UrlEncoder_动力节点Java学院整理
# UrlDecoder和UrlEncoder使用详解_动力节点Java学院整理
# Java-URLDecoder、URLEncoder使用及说明
# 类似于
# 服务端
# 的是
# 也有
# 这篇文章
# 谢谢大家
# 这里面
# 文档
# 分隔符
# 消失了
# 有疑问
# encode
# param
# URLEncoder
# code
# decode
# escape
# js
# utf
相关文章:
如何解决ASP生成WAP建站中文乱码问题?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
定制建站是什么?如何实现个性化需求?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建站之星在线客服如何快速接入解答?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何挑选最适合建站的高性能VPS主机?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
建站ABC备案流程中有哪些关键注意事项?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何快速登录WAP自助建站平台?
网页设计网站制作软件,microsoft office哪个可以创建网页?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
如何高效完成自助建站业务培训?
网站设计制作企业有哪些,抖音官网主页怎么设置?
,制作一个手机app网站要多少钱?
家庭服务器如何搭建个人网站?
如何在阿里云通过域名搭建网站?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
全景视频制作网站有哪些,全景图怎么做成网页?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何高效配置IIS服务器搭建网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
如何零基础在云服务器搭建WordPress站点?
宝塔建站助手安装配置与建站模板使用全流程解析
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站之星后台密码如何安全设置与找回?
建站之星备案是否影响网站上线时间?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站之星后台密码遗忘?如何快速找回?
如何通过PHP快速构建高效问答网站功能?
如何安全更换建站之星模板并保留数据?
网站企业制作流程,用什么语言做企业网站比较好?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何撰写建站申请书?关键要点有哪些?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
如何快速搭建高效简练网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
学校为何禁止电信移动建设网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。