Android WebView полная страница - PullRequest
1 голос
/ 20 июля 2011

Я создаю приложение, которое включает WebView.Дело в том, что я хочу загрузить полную, а не мобильную страницу, поэтому я сменил User Agent.Тем не менее есть страницы, которые загружают мобильную версию.

Вот две версии кода, которые я пробовал:

1.webview.getSettings().setUserAgentString("Mozila ");<br> 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. Как веб-сайт узнает, что я использую мобильную версию?

Большое спасибо, Разван

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Проблема может заключаться в том, что, если вы используете устройство, ваш оператор направляет все ваши HTTP-запросы через прокси-сервер и прокси-сервер меняет User-Agent. С другой стороны, проверьте на своем собственном сервере nc -l 80 -vvv , что ваш запрос действительно отправляет измененный вами User-Agent.

РЕДАКТИРОВАТЬ: некоторые конкретные шаги по устранению неполадок

  1. Переадресация порта 9090 на маршрутизаторе на настольный компьютер или ноутбук.
  2. Скачать netcat
  3. Запустите netcat с помощью команды " nc -l 9090 -vvv "
  4. В WebView вашего Android-приложения отправьте HTTP-запрос с пользователем-агентом, которому вы вводите http://your.ip.address:9090
  5. В терминале, который вы запустили netcat, вы увидите дамп HTTP-запроса в виде простого текста. Там вы можете проверить HTTP-заголовок User-Agent, чтобы увидеть, был ли он изменен прокси-сервером или нет.

Вы не можете проверить этот материал с помощью Wireshark или Fiddler, потому что это происходит в глобальной сети. Вам нужно проверить его на принимающей стороне, либо на сервере, либо на вашем собственном настольном компьютере.

1 голос
/ 23 февраля 2012
webview.getSettings().setUserAgent(1);//for desktop 1 or mobil 0. 
...