Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查两个URL是否相等_C#_Url - Fatal编程技术网

C# 检查两个URL是否相等

C# 检查两个URL是否相等,c#,url,C#,Url,可能重复: 有时URL的键入方式会有所不同,但最终它们是等效的。例如,可以将大写字母转换为小写,并在末尾加上正斜杠,或者删除url。例如,这两个URL是等效的: www.myUrl.com 我想知道什么是确保两个URL相等的最佳方法?什么条件足以确保两个URL指向同一文档?(我正在用C#编写代码,所以如果有一个库也能做到这一点,那就太好了) 谢谢我将使用Uri类进行等价的检查 您拥有了主机适当的,只需查看Uri库即可。例如,您可以通过执行以下操作进行比较: 例如: Uri uri

可能重复:

有时URL的键入方式会有所不同,但最终它们是等效的。例如,可以将大写字母转换为小写,并在末尾加上正斜杠,或者删除url。例如,这两个URL是等效的:

  • www.myUrl.com
我想知道什么是确保两个URL相等的最佳方法?什么条件足以确保两个URL指向同一文档?(我正在用C#编写代码,所以如果有一个库也能做到这一点,那就太好了)


谢谢

我将使用Uri类进行等价的检查


您拥有了
主机
适当的

,只需查看Uri库即可。例如,您可以通过执行以下操作进行比较:

例如:

Uri uri1 = new Uri(url1);
Uri uri2 = new Uri(url2);

// Check urls
if (uri1.AbsolutePath == uri2.AbsolutePath)
{
    // Urls match
}
您可能还需要首先研究URL规范化:


仅供参考,URL末尾的正斜杠不能总是被删除,并且仍然有指向相同位置的URL。理论上URL不应该是这种情况insensitive@zerkms基本域不区分大小写,但url的其余部分是。@Austin Brunkhorst:我指的是url的左边部分。但是,某些规范是否要求web服务器以不区分大小写的方式处理主机头?@Zerkms,请检查以确认主机不区分大小写。您的代码抛出
UriFormatException
:“无效的URI:无法确定URI的格式。”