java url 加号,URL中加号(+)转义问题
URL中加号(+)转义问题
前端通过URL传入一个参数,在后台日志中发现参数中的加号变成了空格。
前端传入"a+b"
后台日志"a b"
先说结论
HTTP为了避免歧义,一些字符传入后台需要做转义,例如:
" - %22
- %23
% - %25
& - %26
- %2B
加号在传入后台的时候,应该转换为 %2B,但是当加号在 URL 中时,特殊的,它会变成空格(Chrome浏览器自动转换)。
为什么会出现这个问题,不清楚。但是如果需要传入 +,在拼接 URL 之前把 + 转换为 %2B 即可。这是最合理的解决方法。
GET POST 表单提交的转义
另外,在提交表单时,参数会自动完成转义,并且这个转义是符合预期的。
GET提交的转义:
1+1 转换为 1%2B1
POST提交的转义:
1+1 转换为 1%2B1
如何手动转换
在前端拼接 URL,如果需要转换 +,可以用 encodeURIComponent 函数进行转义。
需要注意,encodeURI 和 URL 的转义类似,不能正确处理 +。
encodeURIComponent 可以正确转换 +。
代码:
let s = '1+1'
let var_encode_s1 = encodeURI(s)
let var_encode_s2 = encodeURIComponent(s)
console.log(var_encode_s1)
console.log(var_encode_s2)
输出:
1+1
1%2B1
java url 加号,URL中加号(+)转义问题相关推荐
- 网址URL中特殊字符转义编码
网址URL中特殊字符转义编码 字符 - URL编码值 空格 - %20 " - %22 # - %23 % ...
- 浏览器URL中特殊字符转义编码
网址URL中特殊字符转义编码 字符 - URL编码值 空格 - %20 " - %22 # - %23 % ...
- java 中文 转义_java下载url路径包含中文需要转义的操作
大家看这个url: http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx 应为url路径中有中文没有转义,输入流报错 The valid characters a ...
- Java如何将URL读取的内容存入本地文件中
要想访问网络资源,首先需要建立一个URL对象,通过openStream方法读取指定的资源 读取网络资源内容,要构建一个输入流 要想将内容写入文件,要构建一个文件对象和相应的文件输出流 具体代码实现如下 ...
- java实现从url路径中下载pdf文档到本地
import java.io.*; import java.net.*;public class DownloadPdf {/*** 从网络Url中下载文件* @param urlStr pdf网页的 ...
- java url类_Java中的URL类和示例 - Break易站
URL类是Internet上任何可用资源的网关.类URL表示统一资源定位符,它是指向万维网上"资源"的指针.资源可以指向简单的文件或目录,也可以引用更复杂的对象,例如对数据库或搜索 ...
- java 怎么对url解码_如何在Java中进行URL解码?
在Java中,我想将其转换为: https%3A%2F%2Fmywebsite%2Fdocs%2Fenglish%2Fsite%2Fmybook.do%3Frequest_type 对此: https ...
- java 调用url_java程序中访问url接口
在多人开发项目中,我们经常要在自己程序内部调用别人的http请求接口,主要通过流的方式进行调用,最近项目中经常用到,写了个访问接口如下: /** * 程序中访问http数据接口 */ public S ...
- java 从网络Url中下载文件
转自:http://blog.csdn.net/xb12369/article/details/40543649 /*** 从网络Url中下载文件* @param urlStr* @param fil ...
最新文章
- 【java】兴唐第二十五节课小程序学生卡转账小系统(自己写的异常)
- Nature:拟南芥微生物组功能研究
- singleInstance和singleTask导致startActivityForResult回调失败
- HTML5 速查列表
- python学习笔记四一列表元组字典等
- Exynos4412 Uboot 的使用与烧写
- C语言指针操作字符数组demo
- 什么样的架构师才是真正的架构师?
- 1、数列求值 - 2019年第十届蓝桥杯大赛软件类省赛
- Java JDBC spring-jdbc
- Dubbo关于timeout等相关配置的优先级
- 回溯法 —— 判断子集和问题是否存在解
- [RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性
- Atitit 软件国际化原理与概论
- java房屋租赁系统源码,基于jsp+mysql+Spring开发,免费分享
- MCSA Windows Server 2016 Complete Study Guide, 2nd Edition 免积分下载
- avc 转 hevc
- 求A,B 输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0 #60 A #60 B #60 9)。
- Android 图片波浪动画,Android水纹波浪动画
- 大学校园景观规划设计