データベース Web サイトの PDF に直接リンクしている URL のリストがあります。プロキシ サーバー経由で Web サイトにアクセスする必要があることを除けば、ダウンロード プロセスを自動化するのは非常に簡単です。私が使用しようとしてきたコードは次のとおりです。
public void Download()
{
WebClient wb2 = new WebClient();
WebProxy proxy = new WebProxy("PROXY_URL:port", true);
proxy.Credentials = new NetworkCredential("USERNAME", "PASSWORD");
GlobalProxySelection.Select = proxy;
try
{
for(int i = 0; i < URLList.Length; i++)
{
byte[] Data = DownloadData(URLList[i]);
FileStream fs = new FileStream(@"D:\Files\" + i.toString() + ".pdf", FileMode.Create)
fs.Write(Data, 0, Data.Length);
fs.Close();
}
}
catch(WebException WebEx)
{
MessageBox.Show(WebEx.Message);
}
}
public byte[] DownloadData(string path)
{
WebClient wb2 = new WebClient();
wb2.Credentials = new NetworkCredential("USERNAME","PASSWORD");
return wb2.DownloadData(path);
}
なぜか毎回「(400): Bad Request」というエラーが返ってきます。私は明らかに Firefox を介してこれらの PDF に問題なくアクセスできるので、ここで何が間違っているのか疑問に思っています。私は一般的なプログラミングにはかなり慣れていませんが、C# を使用した Web プロトコルには非常に慣れていません。どんな助けでも大歓迎です。