我目前正在尝试构建一个应用程序,如果需要,可以自动抓取网页以获取更新及其各自的下载链接和下载 . 目前我正试图找出通过HttpClient下载ZIP文件的最佳方法 . 我访问的网页需要身份验证,所以我使用httpclient进行身份验证并创建一个cookiecontainer,使我能够下载所需的文件,但是,我看了整个API,无法弄清楚如何下载 . 我已经尝试了各种方法,但是,还没有任何方法可行 . 这就是方法的样子,但我再也找不到下载zip的好方法了
var baseAddress = new Uri(url);
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0");
client.DefaultRequestHeaders.Add("Connection", "keep-alive");
client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.5");
client.DefaultRequestHeaders.Add("Accept", "application/json, text/javascript, */*; q=0.01");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair("username", username),
new KeyValuePair("password", password),
});
//Download Files
string[] download = getDownload().Split('/');
foreach (string link in download)
{
string path = @".\" + link + ".zip";
string dlink = url + link;
var uri = new Uri(dlink);