[ASP.NET]Use WebClient download file with proxy

  • 874
  • 0

摘要:[ASP.NET]Use WebClient download file with proxy

在學校某些裝置,通常都經由Proxy與internet 連線

若這些裝置要run 程式 download 資料, 就需要注意proxy這件事,

否則可能遇到~遠端伺服器傳回一個錯誤: (407) 必須 Proxy 驗證,的錯誤發生

以下利用WebClient 透過proxy 對外聯繫,並下載資料


            string baseUrl = "http://www.bijint.com/m/img/clk/{0}.jpg";
            var today = DateTime.Now;
            DateTime now = new DateTime(today.Year, today.Month, today.Day, 0, 0, 0);
            WebClient wc = new WebClient();
            for (int i = 0; i < 1440; i++)
            {
                string rqUrl = string.Format(baseUrl, now.AddMinutes(i).ToString("HHmm"));
                string fileName = now.AddMinutes(i).ToString("HHmm") + ".jpg";
                var proxyIP = "1.2.3.4";
                WebProxy wp = new WebProxy(proxyIP, 8080);
                wc.Proxy = wp;
                NetworkCredential nc = new NetworkCredential("yourAccount", "yourPW", "YOUR.DOMAIN");
                wc.Proxy.Credentials = nc;
                wc.DownloadFile(  rqUrl, @"D:\Test\girl\" + fileName);
                
            }
            

Reference

https://msdn.microsoft.com/en-us/library/system.net.webclient.proxy(v=vs.110).aspx

https://msdn.microsoft.com/zh-tw/library/system.net.webclient.proxy(v=vs.110).aspx