插件如何识别网站在哪种服务器上运行?

| 我已经测试了Firefox和Chrome的一些插件,这些插件可以识别给定网站的IP地址。但是其中一些还可以显示网站运行的服务器端技术。 他们怎么做到的?我了解客户端用户代理,在HTTP协议中服务器发送“服务器主机代理”字符串有点类似吗? 如果是这样,检索此代码的外观将如何。我猜它与WebClient有关吗? 任何人?     
已邀请:
使用
HttpWebRequest
并将
Method
属性设置为
HEAD
,您可以执行HTTP HEAD请求,该请求非常轻巧。它将返回HTTP标头(可能正确也可能不正确)。服务器之间的HTTP标头也可能有所不同,因为对于服务器应公开的标头没有标准。 代码:
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(\"http://www.contoso.com/\");
myReq.Method = \"HEAD\";
WebResponse myRes = myReq.GetResponse();
for(int i=0; i < myHttpWebResponse.Headers.Count; ++i) {
   Console.WriteLine(
      \"\\nHeader Name:{0}, Value :{1}\", 
      myHttpWebResponse.Headers.Keys[i], myHttpWebResponse.Headers[i]
   ); 
}
编辑:
var request = (HttpWebRequest)WebRequest.Create(\"http://www.http500.com\");
try
{
    var response = request.GetResponse();
}
catch (WebException wex)
{
    // Safe cast to HttpWebResponse using \'as\', will return null if unsuccessful
    var httpWebResponse = wex.Response as HttpWebResponse;
    if(httpWebResponse != null)
    {
        var httpStatusCode = httpWebResponse.StatusCode;
        // HttpStatusCode is an enum, cast it to int for its actual value
        var httpStatusCodeInt = (int)httpWebResponse.StatusCode;                    
    }
}
    

要回复问题请先登录注册