El tutorial o código que hallarás en este artículo es la solución más eficiente y válida que encontramos a esta inquietud o problema.
Solución:
Sin cambiar de Invoke-WebRequest, apagar la barra de progreso fue suficiente. Encontré la respuesta de este hilo: https://github.com/PowerShell/PowerShell/issues/2138 (jasongin comentó el 3 de octubre de 2016)
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest
Para mi archivo de 5 MB en localhost, el tiempo de descarga pasó de 30 a 250 ms.
Tenga en cuenta que para recuperar la barra de progreso en el shell activo, debe llamar $ProgressPreference = 'Continue'
.
yo estaba usando
Invoke-WebRequest $video_url -OutFile $local_video_url
Cambié lo anterior a
$wc = New-Object net.webclient
$wc.Downloadfile($video_url, $local_video_url)
Esto restauró la velocidad de descarga a lo que estaba viendo en mis navegadores.
One-liner para descargar un archivo al directorio temporal:
(New-Object Net.WebClient).DownloadFile("https://www.google.com", "$env:tempindex.html")
Si te gustó nuestro trabajo, puedes dejar una división acerca de qué le añadirías a esta noticia.