VC#でベーシック認証を一度に複数行うと認証できない

実現したいこと

ベーシック認証がかかっているフォルダにあるHTMLファイル、cssファイル、JSファイル、画像を
ダウンロードし、保存したい。

画像ダウンロード関数を毎回呼び出し、呼び出すとデータがNULLで返されます。
また、テキストをダウンロードする関数も複数回呼び出すとNULLで返されます。

発生している問題・分からないこと

HTMLファイルと2,3個の画像はダウンロードできるのですが、4個以上になるとダウンロードできない
場合があるのですが、この場合の対処方法を教えてください。

エラーメッセージ

error

1ダウンロードデータがNULLで返てきます。 2

該当のソースコード

private bool str_readimge(string filePath, string userName, string userPassword,string outPath) { byte[] data; bool err_flg= false; //outPath = @"C:\Users\kishi\Desktop\スマートマリーナ系\海天スマート・マリーナ\v4\wpf20210528_2021060151000\WpfApp1\bin\Debug\net7.0 - windows10.0.22000.0\work\images\weather_E04_wave2_utnM_v2a\202212020600_1.gif"; //HttpWebRequestの作成 System.Net.HttpWebRequest webreq = (System.Net.HttpWebRequest) System.Net.WebRequest.Create(filePath); //CredentialCacheの作成 System.Net.CredentialCache cache = new System.Net.CredentialCache(); //基本認証の情報を追加 cache.Add(new System.Uri(filePath), "Basic", new System.Net.NetworkCredential(userName, userPassword)); //認証の設定 webreq.Credentials = cache; try { //HttpWebResponseの取得 System.Net.HttpWebResponse webres = (System.Net.HttpWebResponse)webreq.GetResponse(); } catch (System.Exception e) { Console.WriteLine(e.ToString()); err_flg = true; } //受信して表示 // System.IO.Stream st = webres.GetResponseStream(); // System.IO.StreamReader sr = new System.IO.StreamReader(st); // // Console.WriteLine(sr.ReadToEnd()); // st_text = sr.ReadToEnd(); if (err_flg == false) { WebRequest req = WebRequest.Create(filePath); using (WebResponse res = req.GetResponse()) { using (Stream st = res.GetResponseStream()) { data = ReadBinaryData(st); st.Close(); } try { File.WriteAllBytes(outPath, data); } catch (System.Exception e) { Console.WriteLine(e.ToString()); err_flg = true; } finally { if (res != null) res.Close(); } } } return err_flg; }

試したこと・調べたこと

上記の詳細・結果

これという記載はありませんでした。

補足

特になし

コメントを投稿

0 コメント