我有一个函数,当你输入网站的url时,它会返回网站的服务器:
private string GetWebServer()
{
string server = string.Empty;
//get URL
string url = txtURL.Text.Trim().ToLower();
if (!url.StartsWith("http://") && !url.StartsWith("https://"))
url = "http://" + url;
HttpWebRequest request = null;
HttpWebResponse response = null;
try
{
request = WebRequest.Create(url) as HttpWebRequest;
response = request.GetResponse() as HttpWebResponse;
server = response.Headers["Server"];
}
catch (WebException wex)
{
server = "Unknown";
}
finally
{
if (response != null)
{
response.Close();
}
}
return server;
}我希望也能够获得一个网站的服务器从IP地址,而不是网站的网址。但是,如果我输入一个IP地址,我会得到一个错误消息:“无效的URI:无法确定URI的格式。”当调用WebRequest.Create(url)时。
有人知道我如何修改它来完成我想要的吗?
发布于 2010-04-21 23:19:52
否则,您可以从IP地址中查找名称,然后在其他呼叫中使用该地址:
System.Net.Dns.GetHostEntry("127.0.0.1").HostName.ToString()发布于 2010-04-21 23:12:07
您在使用IP地址时是否使用相同的方法?如果您没有在IP地址前面加上"http://“”,则会抛出此错误。
发布于 2010-04-21 23:43:07
单个IP可以服务于多个域名。您将不会有1:1的映射。您尝试执行的是反向DNS查找。有许多are服务提供了IP提供的域的不完整列表。有一次,我不得不使用它们的组合来获得一个更完整的列表。
以下是此类网站的一小部分:
并且我已经使用了下面的DNS查找,它也可以找到由相同IP提供服务的其他域:
https://stackoverflow.com/questions/2683915
复制相似问题