System.Uri主机包含尾随

时间:2014-01-02 14:22:59

标签: c# uri

解析http流量后,我注意到我检索到的域名不正确。

Uri www.youtube.com./somepath/index.html

  • 预计www.youtube.com
  • 实际www.youtube.com。

我使用了以下代码:

var ub = new UriBuilder("www.youtube.com.");
var u = ub.Uri;
Console.WriteLine(u.Host);

有没有一种简单的方法可以解决这个问题?我不认为。应该在主持人。

2 个答案:

答案 0 :(得分:1)

您可以使用它来删除开始和结尾(。)点:

string url = "www.youtube.com.";
url = url.trim(".");

答案 1 :(得分:0)

你可能没有想到自己的问题!

参考问题Why is to. a valid domain name?the accepted answer以:

开头
  

最后一个点是完全限定域名的一部分。

浏览器是否实际解析了具有尾随句点的域名似乎取决于域名。例如,Firefox 26和Internet Explorer 9都显示此URL

http://www.youtube.com./yt/about/
                      ^

但是此网址 显示:

http://stackoverflow.com./about
                        ^

为了确认这两个域名的合法性,我将它们都传递给nslookup

nslookup www.youtube.com.
nslookup stackoverflow.com.

事实上,我发现每个域名都已解决。

因此,似乎使用您的浏览器似乎不是单独验证域名的权威方法。

至于为什么某些网址在浏览器中解析,其中一个句点位于域名末尾,而其他网址却没有,这似乎是另一个问题的基础。