giovedì 28 aprile 2022

PowerShell: Download di file da Internet

Nell'articolo PowerShell: Visualizzare l'intestazione HTTP di un sito web è stato mostrato come, utilizzando il cmdlet Invoke-WebRequest, recuperare le informazioni contenute all'interno dell'intestazione HTTP di un sito web. 
Invoke-WebRequest, oltre a consentire di inviare richieste a servizi web, può essere utilizzato anche per comunicare con sistemi remoti e per il trasferimento di dati. Le istruzioni mostrate di seguito utilizzano il cmdlet Invoke-WebRequest per per scaricare un file da Internet (in questo caso si tratta di un'immagine) in un modo molto semplice:
 $url = 'https://images-assets.nasa.gov/image/iss066e174306/iss066e174306~orig.jpg'  
 $dest= "c:\temp\picture_iss.jpg"  
   
 Invoke-WebRequest -UseBasicParsing -Uri $url -OutFile $dest   
   
 Invoke-Item -Path $dest  

Le prime due righe permettono di specificare il percorso del file da scaricare (variabile $url) e il percorso dove salvarlo (variabile $dest).
Nella riga successiva viene eseguito il cmdlet Invoke-Webrequest a cui vengono passate le variabili $url e $dest inizializzate precedentemente. Il parametro -UseBasicParsing impedisce al cmdlet di usare il vecchio e deprecato modello di oggetto "Internet Explorer" che può causare problemi. Prima di utilizzare il codice sopra riportato è bene ricordare che Invoke-WebRequest potrebbe non funzionare con i vecchi protocolli di rete e TLS.

L'ultima riga non fa altro che aprire l'immagine scaricata con il visualizzatore predefinito.





Nessun commento:

Posta un commento

I messaggi sono soggetti a moderazione da parte dell'amministratore prima della loro pubblicazione.