sobota 26. září 2009

Přístup na webové stránky

Občas se mi hodí, když mohu pomocí PowerShellu přistoupit na nějakou webovou stránku a stáhnout si ji na disk. Až donedávna jsem používal skript, který jsem vždy měnil podle toho, kde jsem právě byl. V práci jsem vypisoval proxy server a doma jsem jej ze skriptu mazal. Jelikož tento přístup není rozhodně ideální, hledal jsem cestu, jak toto obejít. Jako vždy mi pomohlo MSDN.

Prvním krokem je vytvořit nový objekt založený na třídě WebClient. Poté je potřeba tomuto objektu přiřadit aktuální proxy server (založený na třídě WebProxy). Podrobné informace jsou v komentářích v následujícím kódu.
  1. # nastavit stranku, kterou chceme stahnout
  2. $url = "http://www.powershell.cz"
  3. # vytvorit objekt WebClient
  4. $wc = New-Object System.Net.WebClient
  5. # nastavit defaultni proxy
  6. $proxy = [System.Net.WebProxy]::GetDefaultProxy()
  7. # a pouzit aktualni prihlasovaci udaje
  8. $proxy.UseDefaultCredentials = $true
  9. # pote priradit proxy k objektu WebClient
  10. $wc.proxy = $proxy
  11. # pote stahnout pozadovanou stranku jako text
  12. $wc.DownloadString($url)
Pokud nechcete výpis kódu stránky do konzole, můžete místo metody DownloadString použít DownloadFile.

Žádné komentáře: