Cómo ejecutar wget de PowerShell

Cómo ejecutar wget de PowerShell
El "wget"Es una utilidad de línea de comandos utilizada para recuperar archivos a través de los protocolos de Internet más utilizados como HTTP, FTP, HTTPS y FTPS. Debido a que es una herramienta de línea de comandos no interactiva, se puede invocar desde scripts, terminales, etc. ¿Desea descargar archivos de Internet pero no le gusta la idea de hacer clic en los enlaces una y otra vez?? Puede automatizar este proceso utilizando Potencia Shell.

Windows PowerShell es una plataforma de automatización y secuencia de comandos. Está destinado principalmente a administradores de sistemas y profesionales de TI para manejar y automatizar los procesos relacionados con la administración de Windows y sus aplicaciones.

PowerShell comprende varias funciones y comandos útiles están disponibles en PowerShell, que se llaman cmdlets. La versión de Microsoft de wget está disponible como un comando fundamental en PowerShell (PS) 3.0 conocido como Invocar webrequest. El wget existe como alias en el Invocar webrequest dominio.

Invoke-WebRequest Command en PowerShell

Invocar webrequest es un descargador de red no interactivo, o podemos decir que es un comando que permite que un sistema descargue archivos de cualquier sitio web en segundo plano sin requerir que un usuario inicie sesión. Las solicitudes HTTP y HTTPS se envían al servicio o página web específico.

Después de eso, este comando analiza la solicitud de solicitud y devuelve colecciones de componentes HTML importantes como imágenes, enlaces, etc. El comando Invoke-WebRequest también puede controlar las solicitudes con credenciales, independientemente de si la ubicación de origen requiere que el usuario se registre.

Escriba el comando otorgado en su PowerShell para tener una mejor comprensión de la solicitud de Invoke-Web, su sintaxis y alias:

> Invocar-WebRequest -?

Una solicitud de archivo simple con PowerShell

En esta sección, intentaremos ejecutar el Invocar webrequest Para solicitudes de archivo. Para eso, especificaremos el URI en el siguiente comando con el "-UseBasicParsing" opción. Esta opción se usa para la compatibilidad con atraso. Por ejemplo, en un caso en el que Internet Explorer no esté instalado ni configurado.

> Invoke-WebRequest http: // httpbin.org/json -sebasicparsing

El Cmdlet de Invoke-WebRequest devolverá un objeto de respuesta web HTML que tiene mucha información útil sobre las propiedades de análisis HTML, como contenido sin procesar, encabezados, enlaces, formularios, imágenes y campos de entrada, etc.

Los administradores pueden usar el comando Invoke-WebRequest para transportar datos a través de redes y servicios de prueba a través de Internet. Mientras que WGet se creó con variadas condiciones de red, lo que lo hace excelente para conexiones poco confiables y sistemas lentos. En PowerShell, el comando "wget" se puede usar para extraer un objeto web HTML, como:

Aparte de esto, cualquier diferente wget La ejecución de comandos le mostrará el siguiente error en su PowerShell:

Entonces, es mejor utilizar "Invoca-Webrequest "para el mismo propósito, que usa"wget"Como alias.

Extracción de enlaces en PowerShell

También puedes utilizar Invocar webrequest para extraer una lista de enlaces que existen en un archivo web en particular. "-UriLa opción se utiliza para indicar el identificador de recursos uniformes (URI) de su recurso de Internet. Ahora, verifique el comando que se da a continuación:

> (Invoke -WebRequest -uri "https: // también conocido como.MS/PSCORE6 -DOCS "-SebasicParsing
).Enlaces.Href

Descargue cualquier archivo del sitio web con PowerShell

Hemos visto el método para solicitar un archivo y extraer enlaces de la web utilizando Invoke-WebRequest. Ahora, avanzaremos para descargar un archivo completo del URI especificado. Ejecutaremos un script de PowerShell para este propósito. Entonces, abra su ISE de Windows PowerShell y cree un nuevo archivo.

Después de eso, escriba el código dado a continuación en su script de PowerShell. Especifique el URI en el "$ fuente" variable. "$ destino"Indica la ruta donde se colocará este archivo después de descargar. "-ExtenderLa opción "se usa para especificar el archivo de salida en el que el comando Invoke-WebRequest guardará su respuesta.

$ fuente = 'http: // speedtest.tele2.neto/10MB.cremallera'
$ Destination = 'e: \ download \ 10mb.cremallera'
Invoke -WebRequest -uri $ Source -Outfile $ Destino

Guarde el archivo como "TestFile1.PS1", Y ejecuta este guión de PowerShell.

La salida sin error declara que el archivo se descarga correctamente. Para confirmar la presencia del archivo, use el "Get-Childitem"Cmdlet para ver el contenido de la carpeta especificada:

> Get-ChildItem "E: \ Descargar"

Enviar solicitudes web con PowerShell

Ahora, escribiremos un script para enviar una solicitud web al sitio web "aturdir.comunicarse.El comando Invoke-WebRequest emitirá la solicitud al sitio especificado. Después de eso, la respuesta del sitio web se guardará en el "$ Respuesta" variable.

El siguiente comando extraerá los valores archivados de entrada y los conectará al Selección-objeto Usando el operador de tubería ["|"].

$ Respuesta = invoke -webrequest -uri https: // www.aturdir.com/búsqueda?Q = Cómo+muchos+pies+en+a+milla
$ Respuesta.Inputfields | Where-Object
ps.Nombre -Like "* Valor*"
| Nombre, valor del objeto seleccionar

Ejecución del "TestFile2.PS1 "le mostrará la siguiente salida:

Si obtiene el error que se muestra en la salida dada a continuación, use el "-UseBasicParsingOpción después de especificar el URI en el comando Invoke-WebRequest.

$ Respuesta = invoke -webrequest -uri https: // www.aturdir.com/búsqueda?q = cómo+muchos+pies+en+a+milla -sebasicparsing
$ Respuesta.Inputfields | Where-Object
ps.Nombre -Like "* Valor*"
| Nombre, valor del objeto seleccionar

Ahora, ejecute el mismo script con los cambios mencionados, y obtendrá la salida sin error.

Conclusión

La mayoría de los usuarios se cansan descargando los archivos haciendo clic una y otra vez. Este proceso también requiere su compromiso y tiempo precioso. Ahora puedes usar Potencia Shell Para automatizar este procedimiento de descarga que le ayuda a ser más productivo y le permite participar en otras actividades cuando sus archivos están descargando.

PowerShell proporciona varios comandos útiles conocidos como cmdlets; Invocar webrequest es uno de ellos. Puede ejecutar WGet desde PowerShell, que es un alias para el comando Invoke-WebRequest. Este artículo le mostró los métodos para solicitar, enviar y descargar un archivo web, extraer enlaces desde la web.