有几个网站提供IP转换的主机名,或者使用其措辞:
查询DNS域名服务器 查找并查找IP地址信息 互联网上的电脑。兑换 主机或域名到IP 地址。
但是,我找不到任何提供此功能的免费网络服务。 我偶然发现了这个Chinese webservice,但它似乎没有做我想要的。
有人知道免费吗?
澄清正是我希望能够做到的: 我想要一个免费的外部 Web服务(在与我不同的计算机上,在互联网的某个地方)提供一个简单的 nslookup 方法,其签名如下:
IPAddress[] GetIpAddress(string hostName)
结果与我在这里得到的结果相同: http://www.kloth.net/services/nslookup.php
答案 0 :(得分:4)
您没有准确说出您希望能够做到的事情。但是,有一个或两个dig
类型的C#实现,例如:
我过去曾经使用过这款产品,效果非常好。
<强>更新强>
你已经有了这个。有很多免费的DNS服务,例如Google或OpenDNS,您可以将它们用作名称服务器。
使用.NET的内置功能,您可以使用System.Net
命名空间和Dns
类。您可以使用几种静态方法:
IPHostEntry GetHostEntry(string hostNameOrAddress)
IPAddress[] GetHostAddresses(string hostNameOrAddress)
上述方法将查询计算机自己的网络设置中指定的DNS服务器。
如果您想指定自己的解析器,请使用我上面提到的Dig工具。输出直接进入控制台,但您可以修改以将结果解析为返回值。
添加对项目的引用我能够做到这一点:
Dig dig = new Dig();
dig.DnsResolver = new Resolver("8.8.8.8");
dig.DigIt("stackoverflow.com");
返回的结果如下:
; <<>> Dig.Net 0.0.1 <<>> @8.8.8.8 A stackoverflow.com.net
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53737
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;stackoverflow.com.net. IN A
;; ANSWER SECTION:
stackoverflow.com.net. 1800 IN A 74.207.240.60
stackoverflow.com.net. 3600 IN A 203.169.164.119
stackoverflow.com.net. 3600 IN A 97.107.142.101
stackoverflow.com.net. 1800 IN A 69.164.199.155
stackoverflow.com.net. 43200 IN A 74.207.231.120
stackoverflow.com.net. 43200 IN A 109.74.195.184
;; Query time: 216 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Oct 04 17:11:48 2010
;; MSG SIZE rcvd: 135
您无需第三方服务就可以执行此操作。