Прокси-сервер, требующий аутентификации с помощью эмулятора Android
-
09-06-2019 - |
Вопрос
Кому-нибудь удалось заставить эмулятор Android работать за прокси-сервером, который требует аутентификации?
Я попытался установить аргумент -http-proxy равным
http://DOMAIN/USERNAME:PASSWORD@IP:PORT
но у меня ничего не получается.
Я пытался следовать документам, но безрезультатно.Я также пробовал -verbose-proxy
настройка, но, похоже, этого больше не существует.
Есть какие-нибудь указания?
Решение
Мне удалось сделать это в эмуляторе Adndroid 2.2.
Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"
Там задайте имя хоста прокси-сервера в свойстве "Proxy" и порт прокси-сервера в свойстве "Port"
Другие советы
Похоже, что SDK 1.5 и далее, -http-proxy
флаг также не работает.Что у меня получилось, так это загрузить образ Android в эмуляторе, а затем, как только Android будет запущен, перейти к Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names
а затем настройте параметры http-прокси для точки доступа по умолчанию.
Установив настройки прокси-сервера APN, я могу заставить браузер эмулятора работать в Интернете.Однако другие вещи, такие как Карты, по-прежнему не работают.
Я помню, что у меня была такая же проблема - после поиска в Интернете я нашел это решение - Из командной строки,
1. > adb shell
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
4. sqlite>.exit
Редактировать:Отредактированный ответ соответствует последней версии Android.
По-видимому, эта проблема возникает только с Android 2.x и Windows.Здесь обнаружена ошибка :http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
Найдите файл
androidtool.cfg
вC:\Documents and Settings\YOUR USER NAME\.android\
Добавьте эту строку:
http.proxyLogin=USER@PASSWORD
Сохраните файл и попробуйте открыть Android SDK.
Для настройки прокси-сервера нам необходимо установить параметр APNS.Чтобы сделать это:
- Перейдите к настройке
- Перейдите в раздел беспроводные сети
- Перейти к мобильным сетям
- Перейдите к названиям точек доступа.Используйте меню для добавления новых apn
- Установить Прокси = локальный хост
- Set Port = порт, который вы используете для создания прокси-сервера, в моем случае это 8989
Для настройки имени и apn вот ссылка:
В зависимости от вашей sim-карты вы можете увидеть таблицу
У меня это сработало: http://code.google.com/p/android/issues/detail?id=5508#c39
Очевидно, в эмуляторе есть ошибка, которая заставляет вас использовать IP-адрес прокси-сервера вместо имени...
Джей, хотя это было бы идеальным местом для размещения этой информации, она не обновлялась для версии 2.1.Ниже я перечислю методы, которые в настоящее время НЕ работают для эмулятора 2.1.
Аргумент http-post не работает для эмулятора 2.1.Установка прокси-сервера в списке APN в эмуляторе 2.1 не работает.Вставка прокси-сервера непосредственно в системную таблицу через sql-lite не работает с 2.1.
Фактически, единственный способ заставить браузер подключиться к Интернету через эмулятор, который я нашел в версии 2.1, - это ВООБЩЕ НЕ использовать прокси.Я действительно надеюсь, что это скоро будет исправлено, потому что есть много людей с такой же проблемой.
Запустите командную строку.
Перейдите в папку, где находится ваш эмулятор.В общем, он будет находиться в папке tools Android SDK.
Затем используйте следующую команду:
emulator -avd <avd name> -http-proxy <server>:<proxy>
Используя это, мы сможем получить доступ к Интернету с помощью браузера.
Использование эмулятора Android SDK 1.5 с прокси-сервером в Eclipse 3.45
Перейдите в проводник пакетов -> Щелкните правой кнопкой мыши ваш Android-проект -> Запустить как-> Запустить конфигурации.
В разделе Приложение для Android в левой колонке выберите свой проект -> в правой колонке, где вы увидите вкладки Android | Target | Common ->
Выберите Цель -> внизу “Дополнительные параметры командной строки эмулятора”->
-http-прокси http://www.gateProxy.com:1080 -отладочныйпрокси-сервер http://www.gateProxy.com:1080
->Запустить/Закрыть.
Я не использовал эмулятор Android, но я установил переменную окружения $ http_proxy для perl и wget и нескольких инструментов cygwin в Windows.Это могло бы сработать для вас на Android, но косая черта в имени домена кажется потенциальной проблемой.Я знаю, что я пытался включить туда свой домен "GLOBAL", но в итоге удалил его и остался с: http://$USER:password@www-proxy.company.com:80
Однако одна из проблем, с которой я часто сталкиваюсь, - это программы, которым нельзя приказать использовать прокси и для DNS-запросов.В тех случаях, когда они этого не делают, я всегда получаю сообщение о том, что имя хоста не найдено.Я бы хотел найти локальный распознаватель dns, который может использовать прокси-сервер для всех программ, которые этого не делают.
Я смог просмотреть трафик с помощью HTTP-сниффера вместо прокси-сервера.Я использовал HTTPScoop, это милое маленькое приложение.
Также приятной особенностью использования HTTPScoop является то, что я также могу видеть трафик на моем реальном устройстве, когда я включаю общий доступ к Интернету и мой телефон использует Wi-Fi с моего Mac.Так что это хорошее решение для отладки того, что происходит на самом телефоне И в эмуляторе.
Таким образом, не имеет значения, какой эмулятор вы используете, потому что анализатор видит трафик независимо от эмулятора, устройства, настроек компилятора и т.д.
Я объясню все шаги:
- Перейдите в настройки в эмуляторе Android> Беспроводная связь и сеть > Мобильная сеть> Точка доступа > Telkilla> и здесь выполните необходимые настройки, такие как прокси, порт и т.д.
Думаю, теперь с настройками прокси все понятно...
Для Android2.3.3 Настройки-> Беспроводная связь и сети-> Мобильные сети-> Имена точек доступа-> Telkila-> установите прокси-сервер и порт здесь (xx.xx.xx.xx и порт)
У меня возникла такая же проблема, когда я использовал следующую команду:
emulator-x86.exe -http-proxy domain\user:password@proxyIP:port -avd MyAVD
Я получил ошибку аутентификации через прокси-сервер.
Наконец, мне пришлось обойти аутентификацию NTLM прокси-сервера, используя Cntlm здесь:
http://sourceforge.net/projects/cntlm/
И затем, после простой настройки cntlm.ini, я использую вместо этого следующую команду:
emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD
и это работает :)