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

Кому-нибудь удалось заставить эмулятор Android работать за прокси-сервером, который требует аутентификации?

Я попытался установить аргумент -http-proxy на

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

но безуспешно.

Я безуспешно пытался следовать документации. Я также пробовал настройку -verbose-proxy, но, похоже, этого больше нет.

Есть указатели?

Вы смотрели на это? developer.android.com/guide/developing/tools/… Джей

AndroidRef.com 24.02.2010 16:29

@ AndroidRef.com не работает ...

Karthikeyan Arumugam 12.07.2012 18:18
55
2
73 637
16
Перейти к ответу Данный вопрос помечен как решенный

Ответы 16

Я не использовал эмулятор Android, но я установил переменную среды $ http_proxy для perl и wget и несколько инструментов cygwin в Windows. Это может сработать для вас для Android, но косая черта в имени домена кажется потенциальной проблемой. Я знаю, что пытался разместить там свой домен "GLOBAL", но в итоге отказался от него и придерживался: http://$USER:[email protected]:80

Одна проблема, с которой я часто сталкиваюсь, - это программы, которым нельзя указать использовать прокси и для DNS-запросов. В тех случаях, когда это не так, я всегда получаю имя хоста, которое не найдено. Я хотел бы найти локальный преобразователь DNS, который может использовать прокси для всех программ, которые этого не делают.

Я помню, что у меня была такая же проблема - после поиска в Интернете я нашел это решение - из командной строки,

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.

в sdk 2.1 это должно быть: sqlite3 /data/data/com.android.providers.settings/databases/settings‌ .db

Lily 18.08.2010 23:52

Я делаю с 2.3, он показывает ошибку: Ошибка: невозможно открыть базу данных "/data/data/com.google.android.providers.settings/databases/‌ settings.db": невозможно открыть файл базы данных

Paresh Mayani 04.05.2011 09:28

Ошибка устранена: в версии 2.3 это должен быть sqlite3 /data/data/com.android.providers.settings/databases/settings‌ .db, как указала Лили выше.

Paresh Mayani 04.05.2011 09:30

У меня ошибка: «Нет такой таблицы: система». Когда я перехожу в sqlite3 и это место и набираю ".tables", у меня пустая база данных. Когда я набираю ".databases", я вижу "main". Я использую Android Emulator, nexus4, api23. Пожалуйста помоги.

liquide 20.10.2015 17:26

Похоже, SDK 1.5 и новее, флаг -http-proxy тоже не работает. Что мне удалось, так это загрузить образ Android в эмуляторе, а затем, когда Android будет запущен, перейти к Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names и затем настроить параметры прокси-сервера http для точки доступа по умолчанию.

Установив настройки прокси APN, я могу заставить браузер эмулятора просматривать веб-страницы. Однако другие вещи, такие как Карты, по-прежнему не работают.

Джей, хотя это было бы идеальным местом для этой информации, она не обновлялась до версии 2.1. Ниже я перечислю методы, которые в настоящее время НЕ работают для эмулятора 2.1.

Аргумент http-post не работает для эмулятора 2.1. Установка прокси в списке APN в эмуляторе 2.1 не работает. Вставка прокси напрямую в системную таблицу через sql-lite не работает с 2.1.

Фактически, ЕДИНСТВЕННЫЙ способ заставить браузер подключаться к Интернету через эмулятор, который я нашел в 2.1, - это вообще НЕ использовать прокси. Я очень надеюсь, что это скоро будет исправлено, потому что есть много людей с такой же проблемой.

Видимо эта проблема работает только с Android 2.x и Windows. Здесь обнаружена открытая ошибка: http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

Ответ принят как подходящий

Удалось сделать это в эмуляторе Android 2.2.

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"

Там установите имя хоста прокси в свойстве «Прокси». и порт прокси в свойстве "Порт"

при вводе имени пользователя не забудьте указать имя домена [домен \ имя пользователя], иначе вы получите всплывающее окно авторизации прокси.

scottyab 24.12.2010 14:45

Эти настройки прокси-сервера работают в браузере Android, но не в приложении. Кто-нибудь сталкивался с подобной проблемой?

Abhimanyu Grover 07.09.2011 19:51

@AbhimanyuGrover да, у меня такая же проблема, вы ее уже решили?

aF. 22.12.2011 14:50

есть ли способ программно использовать настройки прокси в нашем приложении?

Ege Özcan 26.03.2012 16:08

Работает только фактический IP-адрес, а не имя прокси-сервера.

android.fryo 17.12.2013 08:46

Мне удалось просмотреть трафик с помощью сниффера HTTP вместо прокси. Я использовал HTTPScoop, красивое маленькое приложение.

Также в использовании HTTPScoop хорошо то, что я также могу видеть трафик на моем фактическом устройстве, когда я включаю общий доступ в Интернет, и мой телефон использует Wi-Fi с моего Mac. Так что это хороший способ отладки того, что происходит на самом телефоне И в эмуляторе.

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

Это сработало для меня: http://code.google.com/p/android/issues/detail?id=5508#c39
По-видимому, в эмуляторе есть ошибка, которая заставляет вас использовать IP-адрес прокси вместо имени ...

  1. Найдите файл androidtool.cfg по адресу C:\Documents and Settings\YOUR USER NAME\.android\.

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

    http.proxyLogin=USER@PASSWORD
    
  3. Сохраните файл и попробуйте открыть Android SDK.

Я получаю ошибку 407 Proxy Auth ... все еще не работает ... :(

Karthikeyan Arumugam 12.07.2012 18:10

407 означает, что вашему прокси-серверу требуется аутентификация с использованием имени пользователя и пароля.

Radon8472 11.08.2016 00:00

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

  1. Перейдите в настройки эмулятора Android> Беспроводная связь и сеть> Мобильная сеть> Точка доступа> Telkilla> и выполните необходимые настройки, такие как прокси, порт и т. д.

Думаю, теперь с настройками прокси все понятно ...

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

  2. Перейдите в папку, в которой находится ваш эмулятор. Как правило, он находится в папке инструментов Android SDK.

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

    emulator -avd <avd name> -http-proxy <server>:<proxy>
    

    Используя это, мы сможем получить доступ к Интернету с помощью браузера.

Для Android2.3.3 Настройки-> Беспроводные сети-> Мобильные сети-> Имена точек доступа-> Telkila-> установите здесь прокси и порт (xx.xx.xx.xx и порт)

Использование эмулятора Android SDK 1.5 с прокси в Eclipse 3.45

Перейдите в Package Explorer -> щелкните правой кнопкой мыши проект Android -> Run As-> Run Configurations.

В разделе «Приложение для Android» в левом столбце выберите свой проект -> в правом столбце, где вы увидите Android | Target | Общие вкладки ->

Выберите Target -> внизу «Дополнительные параметры командной строки эмулятора» ->

-http-proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

-> Выполнить / закрыть.

Для настройки прокси-сервера нам необходимо установить настройку APNS. Сделать это:

  • Перейти к настройке
  • Перейти к беспроводной сети и сети
  • Перейти в мобильные сети
  • Перейдите к именам точек доступа. Используйте меню, чтобы добавить новые APN
  • Установите Proxy = localhost
  • Установите Port = порт, который вы используете для создания прокси-сервера, в моем случае это 8989

Для установки имени и apn вот ссылка:

По вашей сим-карте вы можете увидеть таблицу

У меня была такая же проблема, когда я использовал следующую команду:

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

и работает :)

Что делать, если в пароле есть @?

pyus13 26.08.2016 06:57

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

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

Другие вопросы по теме