关于网络 URL 地址的编码

python 中 urllib 模块下的 urlencode 方法是专门用来生成合法的网络 url 的工具:

先看一个 urlencode 的编码示例:

urlencode 编码示例

上述代码示例运行的结果如下:

![](null

http://i2.51cto.com/images/blog/201801/29/63834b3dfcf75fb6655bf0af1054b6fe.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
通过上面的代码运行示例,我们可以清楚的看到,对于usrname 中的字符“@”被翻译成了%40,并且把infos字典中的两对信息通过字符“&”连接了起来。

那汉字是如何编码的,是按照 utf-8还是按照gb2312, 国际并没有规定,国际规范中让应用自行决定。

我们在下面的代码中在 url 中使用中文,看看urlencode 的效果:

urlencode 的中文编码示例

上述代码示例运行的结果如下:

我们可以看到,上述的中文字符“男”被翻译成了 utf-8的字符编码%E7%94%B7。所以在 python 程序文件中,url 中的中文字符是根据 coding 声明来编码的。这就是 python 应用的自行决定 。 我们在 python 程序中使用 urlencode 方法,不用操心 url 字符编码的细节,可提高不少编程效率。

?更多关于python语言方面的文章,请前往51Testing软件测试网。(http://www.51testing.com

原文地址:http://blog.51cto.com/13589745/2066378

时间: 2024-10-11 00:41:13

关于网络 URL 地址的编码的相关文章

[转]PHP base64_encode 在URL地址参数编码上使用

因为我使用公钥,使用php的 openssl 加密之后的资料 base64_encode()字符串,然后放入请求 url 中当作参数,urlencode(base64_encode()),然后用 urldecode() 传过来的参数,出现+和 =丢失的情况,导致 openssl 解密base64_decode()的字符串失败. 我们知道Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,看好是编码,并不是加密. 编码过程不解释了,Base64要求把每三个8Bit的字节转换为四个6

URL地址的编码和解码问题

编码:encodeURIComponent() 方法:把URI字符串采用 UTF-8编码格式转化成escape格式的字符串.与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符.所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误.不会被此方法编码的字符:! * ( ) 解码:HttpUtility.UrlDecode() 这种方法主要是用来解决 url地址中的参数带有特殊字符或所传参数需要保密等

URL地址编码和解码

0. 参考 [整理]关于http(GET或POST)请求中的url地址的编码(encode)和解码(decode) python3中的urlopen对于中文url是如何处理的? 中文URL的编码问题 1. rfc1738 2.1. The main parts of URLs A full BNF description of the URL syntax is given in Section 5. In general, URLs are written as follows: <schem

[LeetCode] Encode and Decode TinyURL 编码和解码小URL地址

Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9iA

i春秋url地址编码问题

i春秋学院是国内比较知名的安全培训平台,前段时间看了下网站,顺便手工简单测试常见的XSS,发现网站搜索功能比较有意思. 其实是对用户输入的内容HTML编码和URL编码的处理方式在这里不合理,提交到乌云被拒绝了,因为确实没啥危害,因此技术BLOG记录下. 如搜索:http://www.ichunqiu.com/search/ab<>,搜索内容为ab<>,页面会把<>做html编码后在页面展现,这样看起一切正常. 如: 但经过多次分析,发现把搜索的内容用URL多次编码或ht

浏览器url地址殊字符转义编码

网址URL中特殊字符转义编码字符    -    URL编码值 空格    -    %20"          -    %22#         -    %23%        -    %25&         -    %26(          -    %28)          -    %29+         -    %2B,          -    %2C/          -    %2F:          -    %3A;          -  

C# HttpWebRequest 绝技 根据URL地址获取网页信息

如果要使用中间的方法的话,可以访问我的帮助类完全免费开源:C# HttpHelper,帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取 1.第一招,根据URL地址获取网页信息 先来看一下代码 get方法 复制代码 publicstaticstring GetUrltoHtml(string Url,string type) { try { System.Net.WebRequest wReq = System.Net.WebRequest.Create(U

JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址

JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址 在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上1.可以在servlet的init方法里String path = getServletContext().getRealPath("/");这将获取web项目的全路径例如 :E:\eclipseM9\workspace\tree\tree是我web项目的根目录 2.你也可以随时在任意的class里调用this.getCla

转:Web页面通过URL地址传递参数常见问题及检测方法

Web页面即我们在浏览器中所看到的网页,在Web应用程序中,其页面往往需要进行动态切换和数据交互,页面间的数据常规传递方法有多种,本文主要介绍Web页面处理程序中常见的URL地址参数传递方法,包括概述其实现原理.特点和常见问题,最后介绍检测该方式常见应用问题的测试思路和方法. 1.web页面的概念 Web是internet上一个非常重要的资源信息网,产生于20世纪90年代初,它遵循超文本传输协议,以超文本或超媒介的形式传送各种各样的信息,为用户提供了一个具有友好的图形化界面--Web页面,以便用