Uri.AbsoluteUri 与 Uri.ToString() 的区别

UriBuilder builder = new UriBuilder("http://somehost/somepath");

builder.Query = "somekey=" + HttpUtility.UrlEncode("some+value");

Uri someUri = builder.Uri;

Response.Write("" + someUri.AbsoluteUri + "");

Response.Write("" + someUri.ToString() + "");

显示的结果如下:

http://somehost/somepath?somekey=some%2bvalue

http://somehost/somepath?somekey=some+value

可以看出 AbsoluteUri 是经过编码的,如果访问这个网址,再取 somekey 的值,结果为“some+value”,符合原值。

而 ToString() 是取原值,如果访问这个网址,再取 somekey 的值时,结果为“some value”,与原值不符。

也就是说:如果要在浏览器中传送这个 Uri,则使用 AbsoluteUri;如果要获得未编码的 Uri,则使用 ToString()。

时间: 2024-11-02 20:26:40

Uri.AbsoluteUri 与 Uri.ToString() 的区别的相关文章

你知道URL、URI和URN三者之间的区别吗

这是一个经典的技术争论,许多人都会自问:URL.URI,很可能还有URN,它们之间的区别是什么.虽然,现在我们简单地把 URN 和 URL 都看做 URI,但严格来说URI可以进一步划分为URL.URN或者这两者的组合,所以了解这三者之间的区别将会非常有趣并让人受益匪浅.如果你恰好在某个地方碰到了这些东西,那么至少应该知道它们的含义. 我认为,尽管对一般人来说,不了解这三个缩略词之间的技术差异以及它们各自的含义并不是什么问题.但是,如果你作为一个计算机科学家.一个Web开发者.一个系统管理员,或

URI、URL与URN的区别

URI.URL与URN的区别 URI:Uniform Resource Identifier,统一资源标识符: URL:Uniform Resource Locator,统一资源定位符: URN:Uniform Resource Name,统一资源名称. 联系:URL,URN是URI的子集. Web上地址的基本形式是URI,它代表统一资源标识符.有两种形式: URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器. URN:URL的一种更新形式,统一资源名称(URN, Uniform

Android URI和URL和URN的区别

问题: 问题1.定义的时候是该用imgUrl还是imgUri呢? 问题2.String HttpServletRequest.getRequestURI():和StringBuffer HttpServletRequest.getRequestURL();返回的内容有何不同呢? 分析: Java类库里有两个对应的类java.net.URI和java.net.URL URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源. URL是uniform r

URI和URL及URN的区别

对于URL,大家都比较熟悉,其他两个词就比较陌生了.URI.URL和URN是识别.定位和命名互联网上的资源的标准途径.1989年Tim Berners-Lee发明了互联网(World Wide Web).WWW被认为是全球互连的实际的和抽象的资源的集合–它按需求提供信息实体–通过互联网访问.实际的资源的范围从文件到人,抽象的资源包括数据库查询. 因为要通过多样的方式识别资源(人的名字可能相同,然而计算机文件只能通过唯一的路径名称组合访问),所以需要标准的识别WWW资源的途径.为了满足这种需要,T

ToString()和Convert.ToString()的区别

一.一般用法说明 ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型,也可以是bool或object类对象. 二.ToString()和Convert.ToString()的区别 一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用ToString方法了,就会返回NullReferenceException,除非你要捕捉此异常再做处理

bad URI(is not URI?)

网址中的汉字无法直接解析,需要先encode才行, 看报错说明 irb(main):043:0> url="http://10.103.xx.xx/cms/api/module/data?name=资讯频道战略观察子频道&appkey=300&timestamp=1412997443&sign=72c7de8c0cf6c5e5ca0aaa11a56e6223" => "http://10.103.xx.xx/cms/api/module/d

Convert.ToString和ToString的区别

Convert.ToString能处理字符串为null的情况. static void Main(string[] args) { string msg = null; Console.WriteLine(Convert.ToString(msg)); Console.ReadKey(); } 运行,没有抛出异常. ToString方法不能处理字符串为null的情况,会抛出异常. static void Main(string[] args) { string msg = null; //Con

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别以及ToString()和Convert.ToString()的区别

在计算关于“钱”的各种占比时,我遇到了各种问题. 例如: double a=1.4035; Console.WriteLine($"0.##输出:{a.ToString("0.##")}");   ①Console.WriteLine($"F2输出:{a.ToString("F2")}"); ②Console.WriteLine($"0.00输出:{a.ToString("0.00")}"

URL、URI和URN三者之间的区别

URI   统一资源标识符 Uniform Resource Identifier URL      统一资源定位符     Uniform Resource Locator URN     统一资源名称 Uniform Resource Name Wikipedia: URL: URL是URI的一种,不仅标识了互联网资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置. URN: URN是URI的一种,用特定命名空间的名字标识资源.使用URN可以在不知道其网络位置及访问方式的情况下