###前提・実現したいこと
VB.netでIEを操作してRedmineを編集するプログラムを作成しています。
Redmineのチケットのページが存在するページかどうかを判断したく、HttpWebrequest,HttpWebResponseを使用して
status codeで判断しようと思っています。
しかし、404エラーと表示されるページでも200 OKと返ってきてしまいます。
デベロッパーツールのネットワークタブの応答ヘッダーには404と表示されているのですが、応答ヘッダーの取得は別の方法があるのでしょうか。
何かわかる方いましたら教えてください。
下記は参考にしたソースです。
###該当のソースコード
'要求するURL Dim url As String = "http://www.yahoo.co.jp/hoge.html" 'WebRequestの作成 Dim webreq As System.Net.HttpWebRequest = _ CType(System.Net.WebRequest.Create(url), _ System.Net.HttpWebRequest) Dim webres As System.Net.HttpWebResponse = Nothing Try 'サーバーからの応答を受信するためのWebResponseを取得 webres = CType(webreq.GetResponse(), System.Net.HttpWebResponse) '応答したURIを表示する Console.WriteLine(webres.ResponseUri) '応答ステータスコードを表示する Console.WriteLine("{0}:{1}", _ webres.StatusCode, webres.StatusDescription) Catch ex As System.Net.WebException 'HTTPプロトコルエラーかどうか調べる If ex.Status = System.Net.WebExceptionStatus.ProtocolError Then 'HttpWebResponseを取得 Dim errres As System.Net.HttpWebResponse = _ CType(ex.Response, System.Net.HttpWebResponse) '応答したURIを表示する Console.WriteLine(errres.ResponseUri) '応答ステータスコードを表示する Console.WriteLine("{0}:{1}", _ errres.StatusCode, errres.StatusDescription) Else Console.WriteLine(ex.Message) End If Finally '閉じる If Not (webres Is Nothing) Then webres.Close() End If End Try
あなたの回答
tips
プレビュー