Подтвердить что ты не робот

Как использовать restsharp для загрузки файла

У меня есть URL (URL-адрес для прямого канала от клиента), который, когда я нахожусь в браузере, возвращает ответ xml. Я сохранил это в текстовом файле, размер которого составляет 8 МБ.

теперь моя проблема в том, что мне нужно сохранить этот ответ в XML файле на диске сервера. оттуда я буду вставлять это в базу данных. и запрос должен быть сделан с использованием кода с использованием http-client или rest-sharp библиотеки С#.net 4.5

Я не уверен, что я должен делать для этого случая. может любое тело предложить мне что-то

4b9b3361

Ответ 1

С RestSharp это прямо в readme:

var client = new RestClient("http://example.com");
client.DownloadData(request).SaveAs(path);

С HttpClient это немного сложнее. Посмотрите на этот пост в блоге.

Другой вариант - Flurl.Http (отказ от ответственности: я автор). Он использует HttpClient под капотом и обеспечивает свободный интерфейс и множество удобных вспомогательных методов, в том числе:

await "http://example.com".DownloadFileAsync(folderPath, "foo.xml");

Получите это на NuGet.

Ответ 2

Кажется, что SaveAs было прекращено. Вы можете попробовать это

var client = new RestClient("http://example.com")    
byte[] response = client.DownloadData(request);
File.WriteAllBytes(SAVE_PATH, response);

Ответ 3

Если вы хотите асинхронную версию

var request = new RestRequest("/resource/5", Method.GET);
var client = new RestClient("http://example.com")    
var response = await client.ExecuteTaskAsync(request);
if (response.StatusCode != HttpStatusCode.OK)
            throw new Exception($"Unable to download file");
response.RawBytes.SaveAs(path);