我正在尝试使用以下方法获取特定URL的IP地址:
var ip = Dns.GetHostAddresses("http://oldschool.runescape.com/game?world=321")[0];
问题是该函数似乎仅适用于常规主机地址(如函数所述,例如:www.runescape.com),这会在使用此特定更深层次的URL时创建异常。是否有任何功能可以获取更具体URL的IP地址?
提前感谢。
我正在尝试使用以下方法获取特定URL的IP地址:
var ip = Dns.GetHostAddresses("http://oldschool.runescape.com/game?world=321")[0];
问题是该函数似乎仅适用于常规主机地址(如函数所述,例如:www.runescape.com),这会在使用此特定更深层次的URL时创建异常。是否有任何功能可以获取更具体URL的IP地址?
提前感谢。
完整的URL将具有相同的主机名。获取主机名的简单方法如下:
var url = "http://oldschool.runescape.com/game?world=321";
Uri myUri = new Uri(url);
var ip = Dns.GetHostAddresses(myUri.Host)[0];
只需从url中提取主机即可防止出错,并为您提供主机的正确IP地址。
我对DNS不是专家,但是“更具体”的URL应该是无关紧要的,因为你只需要关心主机节点的IP地址。其余的子域仍然驻留在同一台服务器上,并且应该具有相同的IP地址。如果出于某种原因,你所寻找的是该域中的托管服务,则它将完全有一个不同的URL。
例如,NSLOOKUP只会返回根域名;
处理你的查询的DNS服务器:localhost DNS服务器的地址:127.0.0.1#53
非权威回答: oldschool.runescape.com 规范名称=runescape.com。 名称:runescape.com 地址:91.235.140.130
然而,我确实看到你提供的URL会重定向到其他地方:http://oldschool.runescape.com/slu
希望这能帮到你。