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]
);
}
EDIT:[Webサーバの種類を検出する方法]の
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;
}
}
可能重複(http://stackoverflow.com/questions/1097472/how-ウェブサーバ型の検出) – Shoban
ohh!投稿する前に試してみましたが、私はそれを見つけませんでした。申し訳ありません、リンクに感謝します。あまりにもそれをチェックします。 – BerggreenDK