function urlEncode(param, key, encode) {
if (param==null) return '';
var paramStr = '';
var t = typeof (param);
if (t == 'string' || t == 'number' || t == 'boolean') {
paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);
} else {
for (var i in param) {
var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i)
paramStr += urlEncode(param[i], k, encode)
}
}
return paramStr;
}
-
urlencode
2019-02-17 21:18:47urlencode将字符串以url的形式编码,返回值是一个字符串。例如空格在编码后会变成加号。 在python3.6以后,通过from urllib.parse import urlencode导入,很久之前的版本,通过 from urllib import urlencode的...urlencode将字符串以url的形式编码,返回值是一个字符串。例如空格在编码后会变成加号。
- 在python3.6以后,通过from urllib.parse import urlencode导入,很久之前的版本,通过
from urllib import urlencode的形式导入
python 例如:data = { 'aid': 24, 'offset' : offset, 'format' : 'json', 'keyword' : kw, 'autoload' : 'true', 'count' : 20, 'cur_tab' : 1, 'from' : 'search_tab', 'pd' : 'synthesis' } ———( urlencode() )———> (以爬虫网址转换为例) https://www.toutiao.com/api/search/content/?aid=24&offset=0&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=true&count=20&cur_tab=1&from=search_tab&pd=synthesis
- 在此链接一个在线url编码/解码网站。
- 在python3.6以后,通过from urllib.parse import urlencode导入,很久之前的版本,通过
-
UrlEncode
2019-06-12 18:33:56UrlEncode HTTP协议来讲, 一个标准的URL是有固定的编码方式的,它只能包含固定的字符集 比如你输入一个网址 http://www.baidu.com/s?wd=我&cl=3, 在访问这个网址的时候 网络上传输的时候,‘我’这字会变成%CE...UrlEncode
HTTP协议来讲, 一个标准的URL是有固定的编码方式的,它只能包含固定的字符集
比如你输入一个网址
http://www.baidu.com/s?wd=我&cl=3, 在访问这个网址的时候
网络上传输的时候,‘我’这字会变成%CE%D2 这种编码
网站收到你这个网址的时候,再把%CE%D2 转换成 ‘我’字才能理解你这个网址的意思 -
URLEncode
2019-10-26 10:41:12urlencode:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+) 按照每个字符对应的字符编码,不是符合我们范围的,统统的转化为%的形式也...转换规则
urlencode:返回字符串,此字符串中除了
-_.
之外的所有非字母数字字符都将被替换成百分号(%
)后跟两位十六进制数
,空格则编码为加号(+
)
按照每个字符对应的字符编码,不是符合我们范围的,统统的转化为%的形式也就是了。自然也是16进制的形式。那哪些字符是需要转化的呢?
- ASCII 的控制字符
这些字符都是不可打印的,自然需要进行转化。
- 一些非ASCII字符
这些字符自然是非法的字符范围。转化也是理所当然的了。
- 一些保留字符
很明显最常见的就是“&”了,这个如果出现在url中了,那你认为是url中的一个字符呢,还是特殊的参数分割用的呢?
- 就是一些不安全的字符了。
例如:空格。为了防止引起歧义,需要被转化为“+”。
和编码无关
通过urlencode的转化规则和目的,我们也很容易的看出,urleocode是基于
字符编码
的。同样的一个汉字,不同的编码类型,肯定对应不同的urleocode的串。gbk编码的有gbk的encode结果。apache等服务器,接受到字符串后,可以进行decode,但是还是无法解决编码的问题。编码问题,还是需要靠约定或者字符编码的判断解决。
因此,urleocode只是为了url中一些非ascii字符,可以正确无误的被传输,至于使用哪种编码,就不是eocode所关心和解决的问题了。
编码问题,不是urlencode所要解决的。
比如你
结论
对于要转换的字符,是先根据编码格式转成对应的字节,然后转成16进制
参考
-
urlEncode
2018-08-02 10:52:00function urlEncode(param, key, encode) { if (param==null) return ''; var paramStr = ''; var t = typeof (param); if (t == 'string' || t == 'number' || t == 'boolean') { paramStr += '...转载于:https://www.cnblogs.com/YuyuanNo1/p/9405808.html
-
URLencode
2018-05-02 10:41:57URLencodeurlencode是一个函数,可将字符串以URL编码,用于编码处理。URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下文的统一资源定位符 (URL)的编码机制。适用于统一资源标识符(URI)的... -
URLENCODE
2008-11-15 17:47:00http://www.cha88.cn/safe/Zizzy.php -
urlencode Component urlencode 区别
2019-12-16 14:54:01不要对整个URL进行Component urlencode进行编码(比如在线工具,整个HTTP结构都搞乱了),常用于对参数进行编码。 urlencode可对整个url进行...具体可看大佬的小结:JS escape urlencodeComponent urlencode 区别 ... -
UrlEncode解码
2018-05-17 23:48:36UrlEncode解码,对原url码串进行分解,得到Encode后的码串。
-
deploy.yaml
-
libwebkitgtk及其依赖项.tar.gz
-
QT实现360界面(I).txt
-
AI-人脸口罩识别特训营
-
Python数据分析常用的第三方扩展库
-
商业的本质——杰克·韦尔奇著
-
IEtab 插件 下载....
-
Java无损导出及转换word文档
-
react中context的简单使用
-
nginx-1.18.0.zip
-
《C++ Primer Plus》笔记一(1-4章)
-
用-SPSS-Modeler-建立线性回归预测模型
-
bach_subset_viashp.pro
-
中南大学考研资料.zip
-
CheatEngine7.0.zip
-
python 所有的安装包(.whl文件)for windows 太大放在网盘里的
-
【安全资讯】英特尔承认财报信息泄露系发布程序存在漏洞 而非“黑客攻击”
-
CSS.docset.rar
-
Autosar06 - SHA256
-
Python吊打Excel?7年Excel的数据分析师不服