我必須從我的應用程序發送用戶代理到服務器。 「Mozilla/4.0(兼容; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; HTC; HD7 T9292)」 以上是一個示例用戶代理。我不知道。爲了形成用戶代理,我們可以通過編程獲得所有的值。任何人都可以請幫忙。WP7以編程方式形成UserAgent
1
A
回答
0
這看起來像在HD7上的IE7移動用戶代理。我假設你沒有寫IEMobile,所以你的應用會有不同的用戶代理名稱/標識符。如果您從您的應用發出網絡請求,那麼您的應用是與內置瀏覽器不同的用戶代理。
SDK沒有公開獲取組成示例中用戶代理的所有單個元素的方式。
如果你真的想要從你的應用程序中獲得瀏覽器的用戶代理,那麼最好的辦法可能是包括一個WebBrowser控件,然後通過Javascript解壓縮navigator.userAgent
,但我不知道是否它的支持。如果支持,您可以使用windows.external.notify
將它傳回給您的代碼。
2
爲了記錄,設備名稱不是用戶代理的必要部分。
全球用戶代理字符串爲Mango看起來是這樣的:
Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)
0
我做了這個幫手,這將創建一個臨時的web瀏覽器,加載腳本,並返回一個awaitable的userAgent:
internal static class UserAgentHelper
{
private const string Html = @"<!DOCTYPE html><html><body onload=""window.external.notify(navigator.userAgent);""></body></html>";
public static Task<string> GetUserAgent()
{
var tcs = new TaskCompletionSource<string>();
var browser = new WebBrowser { IsScriptEnabled = true };
browser.ScriptNotify += (sender, args) => tcs.SetResult(args.Value);
browser.NavigateToString(Html);
return tcs.Task;
}
}
用法:
var userAgent = await UserAgentHelper.GetUserAgent();
它至少適用於WP7.1和WP8.0:
WP7: "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator)";
WP8: "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; Microsoft; Virtual)";
相關問題
- 1. C#以編程方式形成圖像
- 2. wp7以編程方式訪問SIM卡
- 3. 將方形圖像裁剪成圓形 - 以編程方式
- 4. 以編程方式附加驗證規則以形成字段
- 5. 你可以在wp7中以編程方式鎖定屏幕
- 6. 以編程方式顯示應用程序欄菜單(wp7)
- 7. 以編程方式關閉WP7應用程序?
- 8. 以編程方式添加矩形
- 9. Android以編程方式使用形狀
- 10. 以編程方式形成對象名稱
- 11. 如何在android中以編程方式創建方形圖形?
- 12. 如何在WP7上以編程方式打開/關閉WiFi
- 13. 如何以編程方式爲ApplicationBarMenuItem設置文本wp7
- 14. 如何以編程方式鎖定鍵/鍵盤在WP7
- 15. Silverlight/WP7:以編程方式更改按鈕背景圖像
- 16. 在WP7中以編程方式創建彈出菜單
- 17. 以編程方式關閉WP7 Silverlight工具包中的ListPicker
- 18. 以編程方式關閉後退鍵按下的事件WP7
- 19. 如何以編程方式爲WP7備份和恢復SMS?
- 20. 以編程方式在Windows Phone 7(WP7)中創建按鈕
- 21. 以編程方式在WP7上顯示軟輸入面板(SIP)
- 22. SSRS:以編程方式生成報告
- 23. Yii2以編程方式生成模型
- 24. 以編程方式生成pom.xml
- 25. 以編程方式生成頂點
- 26. 以編程方式完成子活動
- 27. 以編程方式生成佈局(XAML)
- 28. 以編程方式生成的視圖
- 29. 以編程方式生成JavaDoc文件
- 30. 以編程方式生成.mht文件
如果我需要通過Web瀏覽器獲取用戶代理,那麼我需要將WebBrowser添加到可視化樹中。然後只有我可以得到用戶代理。因此,在主頁本身,瀏覽器將變爲可見並在我刪除它時熄滅。有沒有其他解決方法? – saikamesh
@saikamesh我不是你想要的東西,但是你可以使控件非常小或者在可見區域之外,或者在它前面添加另一個控件,使其不可見。如果將控件的不透明度設置爲0,它甚至可能仍然有效。 –