URL编码

nocturne_love

nocturne_love

2016-01-29 12:17

URL编码,URL编码

URL编码
     作者:      Chandrasekhar Vuppalapati
   翻译:eastvc

下载源代码
       
       本文的目的是设计一个完成URL编码的C++类。在我曾经的项目中,我需要从VC++ 6.0应用程序中POST数据,而这些数据需要进行URL编码。我在MSDN中查找能根据提供的字符串生成URL编码的相关类或API,但我没有找到,因此我必须设计一个自己的URLEncode C++类。

URLEncoder.exe是一个使用URLEncode类的MFC对话框程序。

如何处理

一些特殊字符在Internet上传送是件棘手的事情, 经URL编码特殊处理,可以使所有字符安全地从Internet传送。

例如,回车的ASCII值是13,在发送FORM数据时候这就认为是一行数据的结束。

通常,所有应用程序采用HTTP或HTTPS协议在客户端和服务器端传送数据。服务器端从客户端接收数据有两种基本方法:

1、数据可以从HTTP头传送(COOKIES或作为FORM数据发送)
       2、可以包含在URL中的查询部分

当数据包含在URL,它必须遵循URL语法进行编码。在WEB服务器端,数据自动解码。考虑一下下面的URL,哪个数据是作为查询参数。

例如:http://WebSite/ResourceName?Data=Data

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

WebSite是URL名称
       ResourceName可以是ASP或Servlet名称
       Data是需要发送的数据。如果MIME类型是Content-Type: application/x-www-form-urlencoded,则要求进行编码。

RFC 1738

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

RFC 1738指明了统一资源定位(URLs)中的字符应该是US-ASCII字符集的子集。这是受HTML的限制,另一方面,允许在文档中使用所有ISO-8859-1(ISO-Latin)字符集。这将意味着在HTML FORM里POST的数据(或作为查询字串的一部分),所有HTML编码必须被编码。

ISO-8859-1 (ISO-Latin)字符集

在下表中,包含了完整的ISO-8859-1 (ISO-Latin)字符集,表格提供了每个字符范围(10进制),描述,实际值,十六进制值,HTML结果。某个范围中的字符是否安全。
     Character range(decimal)TypeValuesSafe/Unsafe0-31ASCII Control CharactersThese characters are not printableUnsafe32-47Reserved Characters'' ''!?#$%&''()*+,-./Unsafe48-57ASCII Characters and Numbers0-9Safe58-64Reserved Characters:;<=?@Unsafe65-90ASCII CharactersA-ZSafe91-96Reserved Characters[]^_`Unsafe97-122ASCII Charactersa-zSafe123-126Reserved Characters{|}~Unsafe127Control Characters '' '' Unsafe128-255Non-ASCII Characters '' '' Unsafe

所有不安全的ASCII字符都需要编码,例如,范围(32-47, 58-64, 91-96, 123-126)。
       下表描述了这些字符为什么不安全。CharacterUnsafe ReasonCharacter Encode"<"Delimiters around URLs in free text%3CDe

展开更多 50%)
分享

猜你喜欢

URL编码

C语言教程 C语言函数
URL编码

URL编码处理

Web开发
URL编码处理

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

URL编码与SQL注入

Web开发
URL编码与SQL注入

url编码与解码工具代码

编程语言 网络编程
url编码与解码工具代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

url编码与解码工具附代码

编程语言 网络编程
url编码与解码工具附代码

URL编码转换,escape() encodeURI() encodeURIComponent()

Web开发
URL编码转换,escape() encodeURI() encodeURIComponent()

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

二、设置开发、运行环境

二、设置开发、运行环境

JAVA/JSP学习系列之二(Tomcat安装)

JAVA/JSP学习系列之二(Tomcat安装)
下拉加载更多内容 ↓