2011-10-03 85 views
2

我在模擬器中看到的瀏覽器控件的當前用戶代理是Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator),我想將其更改爲Mozilla/5.0 Windows NT 6.1 AppleWebKit/535.1 KHTML, like Gecko Chrome/14.0.835.187 Safari/535.1或類似內容。Windows Phone 7網絡瀏覽器控制用戶代理

如何在C#中編寫代碼以更改Web瀏覽器控件的用戶代理字符串。

+0

對於Windows Phone「Navigate」參數不會接受多個參數。你會得到「沒有重載的方法」導航'需要4個參數「的錯誤。有一個類似的問題和答案在這裏:[http://stackoverflow.com/questions/7943812/webbrowser-navigate-user-agent](http://stackoverflow.com/questions/7943812/webbrowser-navigate-user-agent ) – crazymatt

+0

Windows Phone具有3個參數的[WebBrowser.Navigate](http://msdn.microsoft.com/zh-cn/library/ff626636(v = vs.92).aspx)方法,它允許您發送您希望請求的HTTP頭信息! –

+0

我很肯定,當我最初回答這個問題時,情況並非如此。我是否因爲害怕失去所有的代表或刪除新的細節而刪除我的答案? – crazymatt

回答

7

找到了一種方法webBrowser.Navigate("http://localhost/run.php", null, "User-Agent: Here Put The User Agent");

+1

非常有用的信息,它實際上工作,感謝分享! – Roboblob

+0

@Jeyant:真的很有用的信息。我在我的應用程序中打開webbrowser,並希望在每個請求中修改useragent。可能嗎? – Invincible

+0

如果你使用google,它會以桌面視圖顯示,但是當你點擊頁面並且瀏覽器導航時,它將返回到移動視圖。 – Ravi

1

在Windows電話7.5,存在允許設置一個標題導航方法過載。有3個參數(URI,post_info,header_info),而不是4,如圖所示。

超載對我有效。

祝你好運。 -e

0

會是這樣的,在VB:

WebBrowser.Navigate(新的URI( 「URL」),byteArr,HttpRequestHeader.UserAgent & 「:」 &「的Mozilla/5.0(Linux的;ü ; Android 2.3.4; fr-fr; HTC Desire Build/GRJ22)AppleWebKit/533.1(KHTML,如Gecko)Version/4.0 Mobile Safari/533.1「)

但是,我無法修改已附加到請求,你只能添加他們,我覺得很煩人。

任何人都可以成功做到這一點?

1

最後我發現了一個令人難以置信的簡單答案,而且工作。

您只需編輯Web瀏覽器控件XAML即可。添加屬性IsScriptEnabled =「True」

希望此解決方案有所幫助。

+1

這是回答這個問題嗎?他們要求更改用戶代理字符串。此答案似乎啓用腳本支持。 – Todd

+0

我在瀏覽器控件導航任何網站時遇到同樣的問題,並且未檢測到該應用程序來自移動瀏覽器[未檢測到用戶代理],並且使用我上面發佈的解決方案,它在沒有明確指定用戶的情況下爲我工作代理在webbrowser.navigate方法中。這就是爲什麼我發佈了答案。 –

+0

我可以吻你! –

相關問題