书写URL时要使用US-ASCII字符集可以显示的字符。
http://www.google.com
如果需要在URL中使用不属于此字符集的字符,就要使用特殊的符号对该字符进行编码。
如:最常使用的空格用%20来表示,例如:http://www.google.com/new%20123.html
除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和不安全(unsafe)字符进行编码。
所谓保留字符就是那些在URL中具有特定意义的字符。不安全字符是指那些在URL中没有特殊含义,但在URL所在的上下文中可能具有特殊意义的字符。例如双引号(“”)
部分保留字符和不安全字符及其URL编码
字符 描述 用法 编码
; 分号 保留 %3B
/ 斜线 保留 %2F
? 问号 保留 %3F
: 冒号 保留 %3A
@ “at”符号 保留 %4O
= 等号 保留 %3D
& “和”符号 保留 %26
< 小于号 不安全 %3C
> 大于号 不安全 %3E
" 双引号 不安全 %22
# 井号 不安全 %23
% 百分号 不安全 %25
{ 左大括号 不安全 %7B
} 右大括号 不安全 %7D
| 竖线 不安全 %7C
\ 反斜线 不安全 %5C
^ 加字号 不安全 %5E
~ 波浪 不安全 %7E
[ 左中括号 不安全 %5B
] 右中括号 不安全 %5D
` 反单引号 不安全 %60
空格 不安全 %20
通常情况下,如果对某个字符能否在URL中使用有疑问,那么你应该始终使用该字符的编码。除字母、数字和字符$-_.+!*'()外的其它所有字符都应该使用编码。
分享到:
相关推荐
在VC++编程环境中,HTTP(超文本传输协议)Get和Post请求是常见的网络通信方法,用于从或向服务器发送数据。这两个方法是Web应用程序与服务器交互的基础,理解它们的工作原理和如何在VC++中实现至关重要。 **HTTP ...
原因:由于tomcat的新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了...
总的来说,处理GET方式提交的含有特殊字符的参数时,关键在于正确编码和解码URL,确保服务器能正确解析请求。同时,理解URL编码规则和特殊字符的含义,对于排查和解决相关问题至关重要。在实际开发中,应遵循最佳...
GET请求通常用于获取资源,其参数通过URL查询字符串传递,且对数据量有限制。POST请求则可以携带更多数据,常用于提交表单或上传文件。这两种方法的安全性和可缓存性也有所不同,GET请求的参数显示在URL上,易于被...
java实现对象转化为get请求的param参数String字符串,本人自测非常好用,一般对象可以转化键值对的格式,但是最近项目需要自己手动拼接对象作为get请求的参数,百度了一堆还不如自己写一个,欢迎各位使用,有什么...
- GET 请求:受到 URL 长度限制,一般不超过 2048 个字符,因此不适合传输大量数据。 - POST 请求:没有长度限制,可以在请求体中携带大量数据,适合大数据量的传输。 3. 安全性: - GET 请求:由于数据在 URL ...
GET通常用于获取资源,它将数据附加到URL上,以查询字符串的形式传递。而POST则常用于向服务器发送数据,如表单提交,数据被包含在请求正文中,这对于传输大量或敏感数据更为安全。 HTML表单是用户与网页交互的重要...
综上所述,"http get post 请求接口工具类"涉及到的核心概念包括HTTP请求方式的运用,接口调用的封装,以及数据安全的保障措施,如参数加密、RSA签名来确保数据安全,以及字符集转换和Base64编码来处理文本和二进制...
URL(Uniform Resource Locator)是互联网上的资源定位器,遵循特定的规范,如RFC 1738,它限制了URL中可以使用的字符集,通常只允许字母、数字、某些标点符号以及一些特殊字符。然而,当URL需要传递特殊字符,尤其...
在Java编程语言中,HTTP(超文本传输协议)是客户端与服务器端进行通信的主要方式,主要分为GET和POST两种请求方法。GET请求通常用于获取数据,而POST请求用于提交数据。`HttpConnUtils.jar`是一个Java工具类库,它...
首先,需要创建一个`HttpClient`实例,然后使用`HttpGet`类构建一个GET请求,并设置请求URL。接下来,调用`execute()`方法来执行请求,最后解析返回的响应。 ##### 示例代码: ```java public static String ...
HttpClientUtil 是一个用于发送 HTTP 请求的工具类,主要支持 GET 和 POST 方法。它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细...
在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...
这种方式限制了请求的长度,因为URL有长度限制,同时也意味着GET请求的数据对用户可见,不太适合传输敏感信息。在C#中,我们可以使用`HttpClient`类的`GetStringAsync`方法来发送GET请求并获取返回的字符串数据。 `...
在GET请求中,参数通常被编码后附加在URL后面。Java的`URLEncoder.encode()`方法可以用来对参数进行编码,但默认使用的是ISO-8859-1编码,不支持中文。因此,我们需要明确指定为UTF-8编码,例如: ```java String...
2. 准备HTTP请求:构建一个符合HTTP协议格式的GET请求字符串,例如"GET /path HTTP/1.1\r\nHost: www.example.com\r\n\r\n"。 3. 连接服务器:使用`connect()`函数与指定的服务器IP和端口建立连接。 4. 发送请求:...
要发送GET请求,可以使用`curl_easy_setopt`设置URL和选项,然后调用`curl_easy_perform`执行请求: ```cpp #include #include void sendHttpGetRequest(const std::string& url) { CURL* curl = curl_easy_...
- URL编码:对于GET请求,URL中的中文字符需要通过`encodeURIComponent`函数进行URL编码,服务器端再进行解码。 2. Sqlite3数据库中文乱码: Sqlite3是一个轻量级的数据库引擎,它在处理中文字符时也有类似的问题...
创建`HttpGet`对象来表示GET请求,并设置URL: ```java HttpGet httpGet = new HttpGet("http://example.com/api/data"); ``` 这里,`http://example.com/api/data`应替换为你实际要请求的服务器地址。 ## 5. 发送...