从需要登录的网址下载文件

时间:2016-09-11 09:57:30

标签: c#

我试图从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。

1 个答案:

答案 0 :(得分:0)

你得到的HTML是什么?如建议的那样,可能存在基于cokie或令牌的身份验证。在这种情况下,您必须提出两个请求,一个在auth url上获取一个řeproprietcokie或令牌,第二个在下载URL上提供cookie或令牌。您应该在Chrome中手动尝试此过程,并调试并记录您需要的实际请求和响应。

相关问题