Soru HttpBrowserCapabilities bir c # konsol uygulamasından kullanmak mümkün mü?


Ben bir konsol app UserAgent dizeleri ayrıştırmak gerekiyor ve bunu yapmak için basit bir yol gibi görünüyor, ama ben açıkça bir HttpRequest nesnesi yok ve bir User-Agent başlığı ile sahte bir yapmak için görünmüyor (Ben olsun platform desteklenmeyen istisna). Bunu yapmanın herhangi bir yolu var mı, yoksa kullanıcı aracısı ayrıştırmaya diğer alternatifleri keşfetmeye mi başlamalıyım?


18
2017-10-08 14:39


Menşei


Ne tür bir sayfa isteği yakalamak istersiniz ???? konsol uygulamasından özel olarak mı? - Shoaib Shaikh
Sayfa isteği yok. Bir metin dosyasında kullanıcı aracılarım var ve Tarayıcı, Sürüm, İşletim Sistemi ve diğer birkaç şeyi ayrıştırmak istiyorum. Bunların hepsi Request.Browser aracılığıyla kullanılabilirdi, ancak şimdi bunları almaya çalışıyorum. bir konsol uygulaması ve UserAgent dizelerinin listesi. - Jody Powlette


Cevaplar:


User-Agent başlık tarafından ayrıştırılabilir HttpBrowserCapabilities sınıf yardımı ile BrowserCapabilitiesFactory, aşağıdaki gibi:

var userAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) " +
                "Gecko/20100914 Firefox/3.6.10";
var browser = new HttpBrowserCapabilities {
    Capabilities = new Hashtable {{string.Empty, userAgent}}
};
var factory = new BrowserCapabilitiesFactory();
factory.ConfigureBrowserCapabilities(new NameValueCollection(), browser);

26
2017-10-08 15:13



Bu çalışıyor! Teşekkür ederim! - Jody Powlette
Teşekkürler bu benim de sorunumu çözdü! - Niels Bosma
Bunu bir asp.net ortamının dışında çalıştırmak istiyorum (günlük dosyalarını analiz etme). Ajan tipini ve versiyonunu çok iyi belirliyor gibi görünmüyor. "Mozilla / 5.0 + (Windows + NT + 6.1) + AppleWebKit / 537.36 + (KHTML, + like + Gecko) + Chrome / 37.0.2062.120 + Safari / 537.36" = Chrome 37, ancak "Mozilla / 4.0 + (uyumlu; + MSIE + 7.0 + Windows + NT + 6.1 + Trident / 4.0; + SLCC2;. + NET + CLR + 2.0.50727;. + NET + CLR + 3.5.30729;. + NET + CLR + 3.0.30729 + Medya + Merkezi + PC + 6.0; +. NET4.0C; +. NET4.0E; + InfoPath.3; + SynapseWorkstation.3.2.1; + MS-RTC + LM + 8; + Tablet + PC + 2.0) "= Mozilla. - Jeremy