- - PR -
【C#.NET】 WebResponse取得でHTTPプロトコルエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-20 18:07
C#でWebサーバ稼動チェックをしたいのですがHTTPプロトコルエラーになります。
■動作環境(Webサーバ) OS:Windows Server 2003 Standard Edition HTTPサーバ:Internet Information Service ■動作環境(クライアント) OS:Windows 2000 開発言語:Visual Studio .NET 2003 C# ≪問題点と状況≫ HttpWebRequestを使用して、サーバー稼動チェックを行いたいのですが、 サーバーからの応答を受信するためのWebResponseを取得するところで、 HTTPプロトコルエラー(System.Net.WebExceptionStatus.ProtocolError)になります。 ちなみに、WebRequestの作成で 要求するURLを正常に表示できるYahoo!のURLに設定してもエラーになりました。 ≪聞きたいこと≫ 同じ環境の別端末では正常に処理されています。 プロトコルエラーになる原因になにがあるか教えていただけますでしょうか。 色々なサイトを見ましたが全く分かりませんでした。 ≪作成したロジック≫ -------------------------------------------------------------------------------- private bool ServerCheck() { //要求するURL string url = "http://www.yahoo.co.jp/"; System.Net.HttpWebResponse webres = null; StringBuilder strbuf = new StringBuilder(); try { //WebRequestの作成 System.Net.HttpWebRequest webreq = (System.Net.HttpWebRequest) System.Net.WebRequest.Create(url); //タイムアウト時間設定 webreq.Timeout = 20000; //サーバーからの応答を受信するためのWebResponseを取得 webres = (System.Net.HttpWebResponse) webreq.GetResponse(); //応答ステータスコードを判定 if (webres.StatusCode == System.Net.HttpStatusCode.OK) { //サイトが正常稼動の場合はTrueを返す return true; } else { return false; } } catch (System.Net.WebException e) { if (e.Status == System.Net.WebExceptionStatus.ProtocolError) { //ログ出力 } return false; } catch (Exception ex) { //ログ出力 return false; } } | ||||
|
投稿日時: 2006-04-20 18:14
WebException は、Status が WebExceptionStatus.ProtocolError の場合 Response で エラーのレスポンスを返してくれます。 これの StatusCode や StatusDescription でどういうエラーだったのか確認する必要があるでしょう。 [ メッセージ編集済み 編集者: Hongliang 編集日時 2006-04-20 18:14 ] | ||||
|
投稿日時: 2006-04-20 18:26
Hongliang即レスありがとうございます。 先ほど上記の件書き忘れてました。 エラー時のstatusとMessageです。 e.Status :ProtocolError System.Net.WebExceptionStatus e.Message:リモート サーバーがエラーを返しました : (401) 許可されていません ここで問題なのが、 エラーを返した場合・・・クライアント側でどうすればいいのかが分かりません。 再度教えていただけますでしょうか。。 | ||||
|
投稿日時: 2006-04-21 10:16
解決しました!!
要求するURLにファイル権限がなくて、 Everyone でフルコントロールにすれば 正常に動くようになりました!! ただのファイル権限だったのか・・・ でも、それがこんなに時間がかかるとは思いませんでした。 侮れない!ファイル権限!!!! |
1