试验了一下python的urllib库以及js 的 encodeURIComponent 均不会替换。空格encode也是替换成了 '%20' 。python提供了urllib.quote_plus, urlib.unquote_plus来处理空格->加号,看起来还是比较合理的。
查了一下 RFC 3986: 有下面一段
Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").
RFC 2396 有下面的一段
The plus "+", dollar "$", and comma "," characters have been added to those in the "reserved" set, since they are treated as reserved within the query component.
表示加号已经是url的保留字了,不需要转义。
然后html4文档里才有关于加号的转义:
application/x-www-form-urlencoded
Forms submitted with this content type must be encoded as follows:
Control names and values are escaped. Space characters are replaced by`+', and then reserved characters.....
声明只有content-type为application/x-www-form-urlencoded时才会对+做转义。
又翻了下php的文档,发现有一个
rawurlencode() - URL-encode according to RFC 3986
也就是php又搞了rawurlencode和rawurldecode把标准实现了。。。。
不能反一下么,毕竟大部分人应该都会用urlencode。php真是蛋疼啊。。。。
url decode problem 解决方法
2019-12-20 15:57PHP教程网 PHP教程
今天被告诉了一个奇怪的事儿,第三方网站使用我们提供的签名是出现了错误,原因是使用php的urldecode时把加号(+) 替换成了空格
延伸 · 阅读
- 2022-03-07URL @PathVariable 变量的匹配原理分析
- 2022-03-02详解Python实现URL监测与即时推送
- 2022-02-22一文带你理解URI 和 URL 有什么区别?
- 2022-02-22java 远程文件url如何转为输入流
- 2022-02-22Python Django获取URL中的数据详解
- 2022-02-18URL如何优化?网站url链接如何做有利于网站优化
- PHP教程
Yii2实现上下联动下拉框功能的方法
这篇文章主要介绍了Yii2实现上下联动下拉框功能的方法,简单分析了上下联动下拉框功能的概念、原理与实现技巧,需要的朋友可以参考下...
- PHP教程
你真的了解PHP中的引用符号(&)吗
php的引用就是在变量或者函数、对象等前面加上&符号,但PHP中的&符号你真的了解吗?真的会用吗?下面随着小编来一起学习学习吧...
- PHP教程
php中实现进程锁与多进程的方法
这篇文章给大家介绍了单进程的情况的进程锁实现、进程锁实现多进程、进程锁在yii2中的实现以及杀死进程的命令,有需要的朋友们可以参考借鉴,下面来...
- PHP教程
yii框架配置默认controller和action示例
这篇文章主要介绍了yii框架配置默认controller和action示例,需要的朋友可以参考下...
- PHP教程
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
前段时间,由于要用 php 进行 Shell 编程时,碰到了 PHP 在 WEB 下可以连接 MySQL 而在 DOS COMMAND 命令行下却连接失败的问题。 ...
- PHP教程
Thinkphp5框架异常处理操作实例分析
这篇文章主要介绍了Thinkphp5框架异常处理操作,结合实例形式分析了Thinkphp5框架异常处理操作原理、操作方法与相关使用技巧,需要的朋友可以参考下...
- PHP教程
在windows服务器开启php的gd库phpinfo中未发现
在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd,很是疑惑,于是搜集了一些,希望对你们有帮助,感兴趣的朋...
- PHP教程
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
我们在搜索一些东西时会经常遇到可以通过空格隔开来达到输入多个条件的目的。今天正好项目中遇到了这个情况,就写了一个函数,将多个条件放到数组...