8.09.2023

Powershell ve UserAgent tanımlayıcısı

Örneğin şu şekilde Powershell'den yapılan bir web sorgusu

PS> Invoke-WebRequest -Uri "https://whatmyuseragent.com"

aynen bir web tarayıcının göndereceği gibi sunucuya, UserAgent String olarak bilinen tarayıcı bilgisi gönderir. Powershell için bu şuna benzer bir dizedir:

Mozilla/5.0 (Windows NT; Windows NT 10.0; tr-TR) WindowsPowerShell/5.1.22621.1778

Powershell 5.0 ve Türkçe Windows 10/11 bilgisayardan bağlantıyı gösteriyor. Bunu özelleştirebiliriz. Microsoft.PowerShell.Commands.PSUserAgent sınıfını kullanarak şu tarayıcıları taklit etmek mümkün:

PS> iwr -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer) -Uri "https://whatmyuseragent.com"

Bu gibi bir komut, şu sayfadaki tabloya göre Interet Explorer 9.0 bilgisi gönderir. Sınıfın içindeki seçenekler biraz eski:

ChromeUseragent string for Chrome (7.0).
FireFoxUseragent string for Firefox (4.0).
InternetExplorerUseragent string for InternetExplorer (9.0).
OperaUseragent string for Opera (9.0).
SafariUseragent string for Safari (5.0).

Bunun dışında elbette elle seçilmiş değerler de kullanılabilir.

PS> iwr -useragent "merhaba" -uri "https://whatmyuseragent.com"