从需要登录的URL下载文件

本文关键字:URL 下载 文件 登录 | 更新日期: 2023-09-27 18:06:42

我正在尝试从Etsy下载。csv文件,我不知道为什么它不工作,只是写

StreamReader reader = new StreamReader(WebRequest.Create("https://www.etsy.com/se-en/your/orders/sold.csv?csv-type=transaction-level&month=&year=2016").GetResponse().GetResponseStream());
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}

还是

StreamReader reader = new StreamReader(WebRequest.Create("https://www.etsy.com/se-en/your/orders/sold.csv").GetResponse().GetResponseStream());
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}

我也试过使用

using (var client = new WebClient())
{
client.Credentials = new NetworkCredential("login", "password");
client.DownloadFile("https://www.etsy.com/se-en/your/orders/sold.csv", @"c:'sold.csv");
}

但是它一直给我http

从需要登录的URL下载文件

你得到了什么?正如建议的那样,可能存在基于cookie或令牌的验证。在这种情况下,您将不得不发出两个请求,一个在授权url上获得适当的cookie或令牌,第二个在下载url上使用提到的cookie或令牌。您应该在Chrome中手动尝试此过程,并记录您需要的实际请求和响应。