데이터베이스 웹 사이트의 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) : 잘못된 요청"을 반환 할 때마다. 필자는 분명히 파이어 폭스를 통해이 PDF를 얻을 수 있기 때문에 여기서 잘못하고있는 것이 궁금합니다. 나는 프로그래밍에 익숙하지 않으며 C#을 통해 웹 프로토콜에 익숙하지 않다. 어떤 도움을 주시면 감사하겠습니다.
URLList를 다시 확인 했습니까? 내 말은 그것 또는 아마도 특수 문자 간섭에 오타가있는 경우 ... – loxxy
특수 문자가 없으며 URL이 Firefox 또는 IE에 붙여 넣을 때 잘 작동합니다. – Agni451