Napi Script: Window wget alternatívák

Ez az első szkript, amit megosztanék a “Napi script” sorozatban. Terveim szerint felteszek majd sokkal komplexebb, speciális kódrészleteket is főleg PowerShell és VBScript nyelveken. Elsősorban olyan szkripteket, amik az adminisztrátorok mindennapos problémáit oldják meg windows rendszereken. Rengeteg (akár fizetős) segédprogram és alkalmazás kiváltható szkriptes megoldásokkal. Minimális programozási tudással lehet rajtuk változtatni, testreszabni, okosítani őket.

WGET: A unixos wget parancs nagyon hasznos, gyakran használjuk és éppen ezért windowson erősen érezhető a hiánya. A Windows CMD parancsai között nincs ilyen, helyette több alternatívát ismertetnék:

1. Wget.exe - Remek kis utility. Aki nem akar sokat szórakozni töltse le, másolja be valamelyik PATH mappába és már használhatja is úgy mint más rendszereken. Mivel a normál commandline-ban nem csak wget parancs nincs, hanem a szögfeldolgozási lehetőségek is igen gyérek, a visszakapott http válasszal, vagy fájlal már nem nagyon tudunk mit kezdeni. Ha mégi ilyen szándékaink vannak, más, szkriptelési megoldások után kell néznünk:

2. VBScript: Az alap, IXMLHTTPRequest interfészt használó HTTP kérést végrehajtó szkript alább látható. Nem többről van szó, mint egy http kérés indításáról és a válasz tartalmának kiíratásáról. A kikommentelt rész az url paraméterként való megadhatóságára szolgál ha CMD-ből, szeretnénk futtatni.

Option Explicit
On Error Resume Next

Dim url
url="http://blog.vargapeter.com"

'Dim paramz
'Set paramz = WScript.Arguments
'url = paramz(0)

Set objHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
objHTTP.open "GET", url, false
objHTTP.send()
MsgBox objHTTP.responseText
Set objHTTP = Nothing

3. Powershell: Mivel PS-ből meg tudunk hívni .Net-es osztályokat, használjuk a System.Net.WebClient-et. A neve beszédes, van egy rakás metódusa és tulajdonsága. Lássunk egy egyszerű példát az előző kód mintájára:

$httpclient= new-object System.Net.WebClient
$httpclient.DownloadString("http://blog.vargapeter.com")

4. Mi van még? PS alatt azért jól el vagyunk látva, írtak többen is cmdleteket az egyszerűbb hívás érdekében:
WGet 2 for PowerShell
Jacobian’s wget for PowerShell

Hát ennyi.. használjuk azt a megoldást, ami céljainknak legjobban megfelel.
Holnap új téma, új szkriptek!