Come eseguire Wget da PowerShell

Come eseguire Wget da PowerShell
IL "Wget"È un'utilità della riga di comando utilizzata per il recupero di file tramite i protocolli Internet più ampiamente utilizzati come HTTP, FTP, HTTPS e FTPS. Poiché è uno strumento di riga di comando non interattivo, può essere invocato da script, terminali, ecc. Vuoi scaricare file da Internet ma non ti piace l'idea di fare clic su collegamenti più e più volte? È possibile automatizzare questo processo utilizzando Powershell.

Windows Powershell è una piattaforma di automazione e scripting. È destinato principalmente agli amministratori di sistema e ai professionisti IT gestire e automatizzare i processi relativi all'amministrazione di Windows e alle sue applicazioni.

PowerShell comprende varie funzioni e comandi utili sono disponibili in PowerShell, che sono chiamati cmdlets. La versione Microsoft di Wget è disponibile come comando fondamentale in PowerShell (PS) 3.0 noto come Invoche-webrequest. Il wget esiste come alias in Invoche-webrequest comando.

Comando invoke-webrequest in PowerShell

Invoche-webrequest è un downloader di rete non interattivo, oppure possiamo dire che si tratta di un comando che consente a un sistema di scaricare file da qualsiasi sito Web in background senza richiedere a un utente di accedere. Le richieste HTTP e HTTPS vengono inviate al servizio Web o alla pagina specifici.

Successivamente, questo comando analizza la richiesta di risposta e restituisce raccolte di importanti componenti HTML come immagini, collegamenti, ecc. Il comando invoke-webrequest può anche controllare le richieste con le credenziali indipendentemente dal fatto che la posizione della sorgente richieda che l'utente venga effettuato l'accesso.

Scrivi il comando di seguito nel tuo PowerShell per avere una migliore comprensione della richiesta invoke-web, della sua sintassi e degli alias:

> Invoche-webrequest -?

Una semplice richiesta di file con PowerShell

In questa sezione, proveremo a eseguire il Invoche-webrequest per richieste di file. Per questo, specificheremo l'URI nel comando seguente con "-Usicparsing" opzione. Questa opzione viene utilizzata per la compatibilità all'indietro. Ad esempio, nel caso in cui Internet Explorer non è installato o configurato.

> Invoke-Webrequest http: // httpbin.org/json -usebasicparsing

Il cmdlet invoke-webrequest restituirà un oggetto HTML Web Response che ha molte informazioni utili sulle proprietà di analisi HTML come contenuto grezzo, intestazioni, collegamenti, moduli, immagini e campi di input, ecc.

Gli amministratori possono utilizzare il comando invoke-webrequest per trasportare i dati su reti e servizi di test via Internet. Mentre Wget è stato creato con varie condizioni di rete, rendendolo eccellente per connessioni inaffidabili e sistemi lenti. In PowerShell, il comando "Wget" può essere utilizzato per estrarre un oggetto Web HTML, come ad esempio:

A parte questo, qualsiasi diverso Wget L'esecuzione del comando ti mostrerà il seguente errore nel tuo PowerShell:

Quindi, è meglio utilizzare "Invoke-webrequest "per lo stesso scopo, che usa"Wget"Come alias.

Estrarre collegamenti in PowerShell

Puoi anche utilizzare Invoche-webrequest Per estrarre un elenco di collegamenti che esistono su un determinato file Web. "-Uri"L'opzione viene utilizzata per indicare l'identificatore di risorse uniforme (URI) della tua risorsa Internet. Ora, controlla il comando indicato di seguito:

> (Invoke -Webrequest -uri "https: // aka.MS/PSCORE6 -Docs "-USEBASICPARSING
).Link.Href

Scarica qualsiasi file dal sito Web con PowerShell

Abbiamo visto il metodo per richiedere un file ed estrarre collegamenti dal Web utilizzando Invoke-WebRequest. Ora andremo avanti per scaricare un file completo dall'URI specificato. A questo scopo eseguiremo uno script PowerShell. Quindi, apri la tua Windows PowerShell ISE e crea un nuovo file.

Dopodiché, scrivi il codice di seguito donati nello script PowerShell. Specificare l'URI in "$ fonte"Variabile. "$ destinazione"Indica il percorso in cui questo file verrà posizionato dopo il download. "-Outfile"L'opzione viene utilizzata per specificare il file di output su cui il comando invoke-webrequest salverà la sua risposta.

$ source = 'http: // speedtest.tele2.Net/10 MB.cerniera lampo'
$ destinazione = 'e: \ download \ 10mb.cerniera lampo'
Invoche -webrequest -uri $ source -outfile $ destinazione

Salva il file come "testfile1.PS1"E esegui questo script PowerShell.

L'output senza errori dichiara che il file viene scaricato correttamente. Per confermare la presenza del file, utilizzare il "Get-childitem"CMDLET per visualizzare il contenuto della cartella specificata:

> Get-childitem “E: \ download”

Invio di richieste Web con PowerShell

Ora scriveremo uno script per inviare una richiesta Web al sito Web "Bing.com."Il comando invoke-webrequest emetterà la richiesta al sito specificato. Successivamente, la risposta del sito Web verrà salvata sul "$ Risposta"Variabile.

Il comando successivo estraggerà i valori archiviati in ingresso e li pipisce su Seleziona Object Usando l'operatore del tubo [“|”].

$ Response = Invoke -Webrequest -uri https: // www.Bing.com/ricerca?Q = come+molti+piedi+in+a+miglio
$ Risposta.Inputfields | Dove-object
$ _.Nome -like "* Value*"
| Select-Object Nome, Value

Esecuzione del "TestFile2.PS1 "ti mostrerà il seguente output:

Se si ottiene l'errore mostrato nell'output di seguito, usa "-Usicparsing"Opzione dopo aver specificato l'URI nel comando Invoke-Webrequest.

$ Response = Invoke -Webrequest -uri https: // www.Bing.com/ricerca?Q = How+molti+piedi+in+a+miglia -usebasicparsing
$ Risposta.Inputfields | Dove-object
$ _.Nome -like "* Value*"
| Select-Object Nome, Value

Ora, esegui lo stesso script con le modifiche menzionate e otterrai l'output senza errori.

Conclusione

La maggior parte degli utenti si stanca scaricando i file facendo clic più e più volte. Questo processo richiede anche il tuo coinvolgimento e il tuo tempo prezioso. Ora puoi usare Powershell Per automatizzare questa procedura di download che ti aiuta a essere più produttivo e ti consente di impegnarti in altre attività quando i tuoi file stanno scaricando.

PowerShell fornisce diversi comandi utili noti come cmdlets; Invoche-webrequest è uno di questi. Puoi eseguire Wget da PowerShell, che è un alias per il comando invoke-webrequest. Questo articolo ti ha mostrato i metodi per richiedere, inviare e scaricare un file Web, estrarre collegamenti dal Web.