fra*_*lic 2 dns ip-address httpwebrequest httpwebresponse
假设我正在检索网址,如下所示:
string url = "http://www.somesite.com/somepage.html"
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Run Code Online (Sandbox Code Playgroud)
有没有办法可以看到目标网址的IP地址?需要单独拨打电话吗?
谢谢
虽然Dns.GetHostEntry()
可以获得服务器的IP,但是如果同一主机有多个A记录,您将全部获得它们(也称为循环DNS).但是,当实际连接到Web服务器时,客户端会选择其中一个IP.
似乎没有一种暴露的方法可以确切地找出连接时使用的IP.我在www.justwentdown.com上处理我们的网络监控解决方案时发现了这些信息.此信息位于Web响应的私有字段中,
myHttpWebResponse.ResponseStream.Connection.ServerAddress
Run Code Online (Sandbox Code Playgroud)
但是,因为Connection
并且ServerAddress
是私有/内部属性,您需要使用反射来获取值.我发现这个解决方案在这些情况下非常有用.
我用.NET 4.0测试过它.它有点乱,可能会打破.NET的未来版本,所以我建议添加一个单元测试.
归档时间: |
|
查看次数: |
3655 次 |
最近记录: |