• .NET Framework 类库: Uri类


    提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。

    命名空间:System
    程序集:System(在 system.dll 中)

    语法:C#
    1[SerializableAttribute] 
    2public class Uri : ISerializable
    备注 

    URI 是 Intranet 或 Internet 上可由应用程序使用的资源的一种简洁表示形式。Uri 类定义了属性和方法来处理 URI,包括分析、比较和组合。Uri 类属性是只读的;若要创建可修改的对象,请使用 UriBuilder 类。

    相对 URI(例如“/new/index.htm”)必须相对于基 URI 展开,这样才是绝对的。提供了 MakeRelative 方法在必要时将绝对 URI 转换为相对 URI。

    如果 URI 字符串是格式良好的 URI 并且包括方案标识符,Uri 构造函数将不会转义 URI 字符串。

    Uri 属性用转义编码返回规范化数据表示形式,任何 Unicode 值大于 127 的字符都会被替换为等效的十六进制数。为使 URI 具有规范化格式,Uri 构造函数执行以下步骤:

      将 URI 方案转换为小写。
      将主机名转换为小写。 如果主机名为 IPv6 地址,则使用规范化 IPv6 地址。ScopeId 和其他可选的 IPv6 数据将被移除 移除默认端口号和空端口号。 通过压缩 /./、/../、// 等序列(包括转义表示形式),规范化分层 URI 的路径。

    对于分层 URI,如果主机未以正斜杠 (/) 结尾,则添加一个正斜杠。
    URI 中的任何保留字符都要根据 RFC 2396 进行转义。

    使用 ToString 方法,可以将 Uri 类的内容从转义编码的 URI 引用转换为可读的 URI 引用。请注意,在 ToString 方法的输出中,某些保留字符可能仍会被转义。这是为了支持利用 ToString 返回的值明确无误地重新构造 URI。

    某些 URI 会包括一个片段标识符或一个查询,或同时包含这两项内容。片段标识符是跟在数字符号 (#) 之后的任意文本(不包括数字符号本身);段落文本储存在 Fragment 属性中。查询信息是 URI 中跟在问号 (?) 后的任何文本;查询文本存储在 Query 属性中。
            

    在 .NET Framework 1.1 版中,如果指定给构造函数的字符串包含未知的方案和“c:\”,则 URI 类会在冒号后面插入“//”。例如,URI xyz:c:\abc 会转换为 xyz://c:/abc。在 .NET Framework 2.0 版中已经移除这一行为,示例字符串会转换为 xyz:c:/abc

            
    注意

    URI 类支持使用以下格式的 IP 地址:四组表示法的 IPv4 协议和冒号分隔的十六进制 IPv6 协议。请记住在 IPv6 地址两边括上方括号,如 http://[::1]。

    示例:
    C#
    1Uri siteUri = new Uri("http://www.contoso.com/");
    2 
    3WebRequest wr = WebRequest.Create(siteUri);
     继承层次结构
            
    System.Object
      System.Uri
  • 相关阅读:
    [CQOI2011]放棋子
    [CF1192B]动态直径
    [CERC2016]凸轮廓线
    19_08_14-19_08_21校内训练 补题
    [模板]线性递推+BM
    19_08_10[校内训练]割图
    [模板]多项式封装(无讲解)
    19_07_11校内训练[字串染色]
    CF990G
    19_07_09校内训练[分组]
  • 原文地址:https://www.cnblogs.com/Dlonghow/p/1232451.html
Copyright © 2020-2023  润新知