c# - restclient - Cómo usar restsharp para descargar el archivo
restsharp net core (3)
Tengo una URL (URL para la transmisión en vivo del cliente) que cuando encuentro en el navegador devuelve la respuesta xml. He guardado esto en el archivo de texto, el tamaño es de 8 MB.
ahora mi problema es que necesito guardar esta respuesta en un archivo xml en la unidad del servidor. Desde allí insertaré esto en la base de datos. y la solicitud debe realizarse utilizando el código http-client o la biblioteca de c # .net 4.5
No estoy seguro de qué debo hacer para el caso anterior. ¿Puede algún cuerpo sugerirme algo?
Con RestSharp, está justo ahí en el readme :
var client = new RestClient("http://example.com");
client.DownloadData(request).SaveAs(path);
Con HttpClient
, es un poco más complicado. Echa un vistazo a esta entrada de blog .
Otra opción es Flurl.Http (descargo de responsabilidad: soy el autor). Utiliza HttpClient
bajo el capó y proporciona una interfaz fluida y muchos métodos de ayuda convenientes, que incluyen:
await "http://example.com".DownloadFileAsync(folderPath, "foo.xml");
Consíguelo en NuGet .
En caso de que quieras versión asíncrona.
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);
Parece que SaveAs fue descontinuado. Puedes probar esto
var client = new RestClient("http://example.com")
byte[] response = client.DownloadData(request);
File.WriteAllBytes(SAVE_PATH, response);