簡體   English   中英

Android WebView 整頁

[英]Android WebView full page

我正在創建一個涉及 WebView 的應用程序。 問題是我想加載整個頁面而不是移動頁面,所以我更改了用戶代理。 不過,有些頁面會加載移動版本。

這是我嘗試過的兩個版本的代碼:

1.webview.getSettings().setUserAgentString("Mozila ");
2. String DESKTOP_USERAGENT = webview.getSettings().getUserAgentString (); DESKTOP_USERAGENT = DESKTOP_USERAGENT.replace("Mobile ",""); webview.getSettings().setUserAgentString(DESKTOP_USERAGENT);

這是在任何情況下加載移動版本的網頁示例:

http://www.jurnalul.ro http://www.androidzoom.com

1.有誰知道我如何欺騙服務器並告訴他我使用的是台式機而不是移動設備? 2.網站如何知道我使用的是手機版?

非常感謝,拉茲萬

問題可能是,如果您使用的設備是您的運營商通過代理路由您的所有 HTTP 請求,並且代理正在更改用戶代理。 在另一端,使用您自己的服務器,使用nc -l 80 -vvv 檢查您的請求是否確實發送了您已修改的用戶代理。

編輯:一些特定的故障排除步驟

  1. 將路由器上的端口 9090 轉發到台式機或筆記本電腦。
  2. 下載網貓
  3. 使用命令“ nc -l 9090 -vvv ”運行netcat
  4. In your Android application's WebView, make an HTTP request with the User-Agent you are injecting to http://your.ip.address:9090
  5. 在您運行 netcat 的終端中,您將看到 HTTP 請求以純文本形式轉儲。 在那里您可以檢查 HTTP header 用戶代理,看看它是否已被代理服務器更改。

你不能用 Wireshark 或 Fiddler 測試這些東西,因為它發生在 WAN 中。 您需要在接收端對其進行測試,無論是在服務器上,還是在您自己的台式機上。

webview.getSettings().setUserAgent(1);//for desktop 1 or mobil 0. 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM