我有一個直接鏈接到數據庫網站上的PDF的URL列表。除非我必須通過代理服務器訪問網站,否則自動執行下載過程將非常容易。我一直在試圖使用的代碼一直是這個:通過代理下載PDF
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):錯誤的請求」每一次。我明顯能夠通過Firefox獲得這些PDF,所以我想知道我在這裏做錯了什麼。一般來說,我對編程相當陌生,對於通過C#的網絡協議來說,這是一個新手。任何幫助,將不勝感激。
您是否重新檢查了URLList。我的意思是,如果它有錯別字或者特殊字符干擾.... – loxxy
沒有特殊字符,並且當粘貼到Firefox或IE時URL可以正常工作。 – Agni451