Прокси-сервер, требующий аутентификации с помощью эмулятора Android

StackOverflow https://stackoverflow.com/questions/28380

  •  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

  1. Найдите файл androidtool.cfg в C:\Documents and Settings\YOUR USER NAME\.android\

  2. Добавьте эту строку:

    http.proxyLogin=USER@PASSWORD
    
  3. Сохраните файл и попробуйте открыть 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, - это ВООБЩЕ НЕ использовать прокси.Я действительно надеюсь, что это скоро будет исправлено, потому что есть много людей с такой же проблемой.

  1. Запустите командную строку.

  2. Перейдите в папку, где находится ваш эмулятор.В общем, он будет находиться в папке tools Android SDK.

  3. Затем используйте следующую команду:

    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.Так что это хорошее решение для отладки того, что происходит на самом телефоне И в эмуляторе.

Таким образом, не имеет значения, какой эмулятор вы используете, потому что анализатор видит трафик независимо от эмулятора, устройства, настроек компилятора и т.д.

Я объясню все шаги:

  1. Перейдите в настройки в эмуляторе 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

и это работает :)

С новыми версиями Android Studio и ее эмулятора это простая задача.

Нажмите кнопку эмулятора "Еще", выберите Настройки -> Вкладка Прокси.Все необходимые конфигурации уже есть.

enter image description here

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top