我尝试使用Ruby的url_encode(doc here。)
它将http://www.google.com
编码为http%3A%2F%2Fwww.google.com
。但事实证明我无法通过浏览器打开后者。如果是这样,这个功能的用途是什么?当它编码的URL甚至无法打开时,有什么用?
答案 0 :(得分:2)
您可以使用url_encode
对GET请求的键/值进行编码。
以下是SO搜索查询URL在编码后的外观示例:
https://stackoverflow.com/questions/tagged/c%23+or+.net+or+asp.net
正如您所看到的,在最后一个斜杠之后,url编码似乎仅应用于URL的最后部分。
一般情况下,您不能在整个网址上使用url_encode,或者您也会在普通网址中对特殊字符进行编码,例如://示例。
您可以查看解释其工作原理的教程:http://www.permadi.com/tutorial/urlEncoding/
答案 1 :(得分:2)
典型用法是HTTP GET 方法,您需要查询字符串。
查询字符串1:
valudA=john&valueB=john2
实际值服务器获取:
valueA:“john”
valueB:“john2”
url_encode 用于使键值对启用,以存储包含一些非ASCII编码字符的字符串,例如空格和特殊字符。
假设valueB将存储我的名字,代码4 j,你需要编码它,因为有一些空格。
url_encode("code 4 j")
code%204%20j
查询字符串2:
值a =约翰&安培; VALUEB =代码%204%20J
实际值服务器获取: