C# WebClient не может загрузить файл CSV по ссылке - PullRequest
0 голосов
/ 06 августа 2020

Вот мой код пытается загрузить CSV-файл с указанного URL-адреса, но получает ошибку.

string remoteUri = "https://www.nseindia.com/api/corporates-corporateActions?index=equities&from_date=30-07-2020&to_date=06-08-2020&csv=true";

string fileName = @"C:\test.csv";

WebClient myWebClient = new WebClient();

myWebClient.DownloadFile(remoteUri,fileName);

Получение ошибки Неустранимая ошибка: превышен лимит времени выполнения. Но при нажатии на указанный выше URL-адрес в браузере загружается файл csv

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Это связано с тем, что HTTP-сервер ожидает в вашем запросе следующие заголовки:

Accept-Language: fr,fr-FR;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br

Вы можете попробовать их в другом клиенте REST. Мне удалось воспроизвести вашу проблему с помощью AR C.

0 голосов
/ 06 августа 2020

Есть некоторые проблемы с тем URL-адресом, откуда вы пытаетесь получить файл CSV. Я проверил ваш код с другим URL-адресом CSV. Он работает нормально. Ниже показан URL-адрес тестового CSV.

string remoteUri = "http://samplecsvs.s3.amazonaws.com/Sacramentorealestatetransactions.csv";
    
                string fileName = @"Y:\Users Data\Sagar\Test\test.csv";
    
                WebClient myWebClient = new WebClient();
                myWebClient.Headers.Add("contentType", "text/csv");
                await myWebClient.DownloadFileTaskAsync(remoteUri, fileName);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...