WebRequest()で訳が分からない例外が発生したけど
C#なりPowershellなりで、cocolog(@nifty)のログイン画面(http://www.cocolog-nifty.com/t/sso/start)をWebRequestクラスを使って読み込もうとして、System.Net.HttpWebRequest.GetResponse()を実行したとき、何故かSystem.Net.WebException例外が発生する。
Messageは、"An error occurred while sending the request. The server returned an invalid or unrecognized response."となっていて、理解不能。
訳が分からんなーとさんざん悩んだんだけど(HTTPstatus=302でRedirectしているし、そこら辺かなと思ったけどAllowAutoRedirectプロパティはデフォルトでtrueだしーとか)、結局はUserAgentプロパティに何も設定していなくて、WebServerにお前ナニモンじゃとはじかれたもよう?
FireFoxの開発者モードで確認したUserAgentの内容を設定してみたら通った。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.cocolog-nifty.com/t/sso/start");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
« 令和になりました | トップページ | 2019年第2四半期開始アニメの感想 »
コメント