Как использовать restsharp для загрузки файла
У меня есть URL (URL-адрес для прямого канала от клиента), который, когда я нахожусь в браузере, возвращает ответ xml. Я сохранил это в текстовом файле, размер которого составляет 8 МБ.
теперь моя проблема в том, что мне нужно сохранить этот ответ в XML файле на диске сервера. оттуда я буду вставлять это в базу данных. и запрос должен быть сделан с использованием кода с использованием http-client или rest-sharp библиотеки С#.net 4.5
Я не уверен, что я должен делать для этого случая. может любое тело предложить мне что-то
Ответы
Ответ 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);