13/12/2007
Effettuare il download di un file da Internet
La classe System.Net.WebClient permette in maniera semplice e veloce di scaricare dati da qualsiasi rete, utilizzando i protocolli più diffusi.
Il metodo DownloadFile() consente in una sola riga di codice di scaricare un file e memorizzarlo in una determinata posizione:
(New-Object Net.WebClient).DownloadFile("http://www.powershell.it", "c:\temp\Home.htm")
Nel caso in cui, invece, sia necessario manipolare direttamente dall'interno di PowerShell i dati provenienti dalla rete, è sufficiente utilizzare il metodo DownloadData() che, fornito un indirizzo, scarica la risorsa indicata e la ritorna sotto forma di array di byte:
$data = (New-Object Net.WebClient).DownloadData("http://www.powershell.it")
L'output ritornato è naturalmente riutilizzabile associandolo ad una variabile o mettendolo in pipe su di un altro comando:
PS C:\Documents and Settings\Ikmju>$wc = New-Object Net.WebClient
PS C:\Documents and Settings\Ikmju>$data = $wc.DownloadData("http://www.powershell.it")
PS C:\Documents and Settings\Ikmju>$data | Select-Object -First 5
13
10
13
10
60