← Anasayfa

Invoke-WebRequest ve Invoke-RestMethod Cenk Ederse (Hangi Web İsteyi)

Scripting, İnternetPowerShell

Bir siteye dışarıdan komutla bağlanmak için eskiden urllib benzeri ağır kütüphanelere sığınıyorduk. PowerShell sahneye Invoke-WebRequest (iwr) ile fırladığında, sayfanın içini okuyup tüm HTML i, fotoğrafları, Css'i Terminal hafızasına bir enkaz gibi çöktürtür.

Eğer siz sadece sitenin açık olup olmadığını kontrol edip (Status Code 200), ya da sayfanın kaynak metinlerini (Raw Text HTML) çekecekseniz Invoke-WebRequest tapılan yapıdır.

REST ve API Modülerliği

Fakat site size "Merhaba ben Json Objesiyim, { İsim: Ahmet }" fırlatıyorsa siz IWR yapısına güvenseniz, size sadece Json görünümlü pis bir dize basar. Bunu obje (Tablo) niyetine kullanamazsınız. İşte bu noktada kılıçlarını Invoke-RestMethod (irm) kuşanır! O sadece gider, HTML leri ezer atar, içindeki o temiz API varlığını süzer ve size bilgisayarın C Disk objesi gibi mis gibi tertemiz hücre bloklarını listeler. İnternet dünyasına ne gözle batıracağınızı (Parse mi Obje mi) bilmek bir mühendislik asaletidir.