前提・実現したいこと
C#を使ってダイアログが表示されるタイプのベーシック認証サイトに接続できるか確認したい。
発生している問題・エラーメッセージ
401エラーが発生します。
例外がスローされました:System.dullのSystem。Net.WebException(リモートサーバーがエラーを返しました(401)許可されていません
該当のソースコード
C#
1string url="http://~"; 2WebClient myweb=new WebClient(); 3myweb.Credentials = new NetworkCredential("User", "PassWord"); 4 5HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(url); 6HttpWebResponse webres = null; 7 8try 9{ 10 webres = (HttpWebResponse)webreq.GetResponse(); 11 Console.WriteLine((int)webres.StatusCode); 12} 13catch (WebException ex) 14{ 15 if (ex.Status == WebExceptionStatus.ProtocolError) 16 { 17 HttpWebResponse errres = (HttpWebResponse)ex.Response; 18 Console.WriteLine((int)errres.StatusCode); 19 } 20 else 21 { 22 Console.WriteLine(ex.Message); 23 } 24} 25finally 26{ 27 if (webres != null) 28 webres.Close(); 29} 30
試したこと
インターネットで調べて見つけたURLに直接UserとPasswordを埋め込むという方法 「http://User:PassWord@~」も試してみましたが同じく401エラーが出てしまい確認できませんでした。
インターネットのアドレスバーに埋め込みURLを置いてみても「見つかりません。綴りを確認して再接続してください」と出てしまいます。
curlを使って同じサイトに接続してみたところ正常に接続することができました。
ご教授よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
VisualStudio 2015
.NetFrameWork 4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/19 10:03