我试图获取#34; https://google.com"的主机地址。使用以下代码:
var host = Dns.GetHostAddresses("https://google.com");
但我得到一个例外:
{"No such host is known"}
我在想,为什么我无法获得参赛作品?
答案 0 :(得分:7)
不要仅仅https://
提供google.com
,因为https://
不是主机名的一部分。
var host = Dns.GetHostAddresses("google.com");
我发现了对URL部分here的非常好的解释,摘录在下面给出。
http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#00h02m30s
以下是网址的一些组成部分:
- 协议是http。其他协议包括https,ftp等。
- 主机或主机名为video.google.co.uk。
- 子域名是视频。
- 域名是google.co.uk。
- 顶级域名或顶级域名是英国。英国域名也称为国家/地区代码顶级域名或ccTLD。对于google.com,TLD 将是com。
- 二级域名(SLD)是co.uk。
- 端口为80,这是Web服务器的默认端口。其他港口是可能的;例如,Web服务器可以在端口8000上侦听。 当端口为80时,大多数人都会离开端口。
- 路径是/ videoplay。路径通常是指Web服务器上的文件或位置,例如, /directory/file.html
- 此网址包含参数。一个参数的名称是docid,该参数的值是-7246927612831078230。网址可以有很多 参数。参数以问号(?)开头,并且是 用&符号(&)分隔。请参阅“#00h02m30s”?这叫做a 片段或命名锚。我跟谈过的Google员工是分开的 从中间向下以哪种方式引用它。关于什么的争议 打电话可以通过手臂摔跤,跳舞或喝酒来解决 竞赛。通常,片段用于指代内部 Web文档中的部分。在这种情况下,命名锚意味着 “跳到视频的2分30秒。”我现在想 Google通过从网址中删除任何片段来标准化网址。
答案 1 :(得分:1)
var host = Dns.GetHostAddresses("google.com")[0];
答案 2 :(得分:1)
您应该删除 https:// 。它应该是这样的:
var host = Dns.GetHostAddresses("google.com");
希望它有所帮助!
答案 3 :(得分:0)
您还可以使用从列表中获取第一个IP地址
var address = Dns.GetHostAddresses("www.test.com")[0];