Я хочу протестировать вызовы Https с Android-устройства, используя инструмент Charles proxy. Мне нужно увидеть исходное содержимое запроса/ответа для отладки приложения. Я настроил Чарльза, добавив хост и порт в разделе «Настройки прокси» -> вкладка SSL. Когда я запускаю приложение, все вызовы SSL, похоже, быстро исчезают из Чарльза. Кто-нибудь знает, как решить эту проблему. Документация Чарльза, похоже, не содержит информации для устройств Android.SSL-прокси/Чарльз и проблема с Android
ответ
Я понял проблему. Это потому, что у Charles 3.7 есть некоторые ошибки для устройств Android. Я обновил версию Charles 3.8 Beta и, похоже, отлично справился со мной.
Смотрите здесь:
Вы должны установить сертификат charles.crt на устройство.
Редактировать - этот ответ был для более ранней версии Чарльза. См. Ниже @ semicircle21 для правильных шагов для v3.10.x - гораздо проще, чем этот подход ... :-)
Для чего здесь стоит пошаговые инструкции для этого. Они должны применяться одинаково хорошо прошивкой тоже:
- Открыть Чарльз
- Перейти к прокси> Настройки прокси> SSL
- Check «Включить SSL прокси-соединения»
- Выберите «Добавить местоположение» и введите имя хоста и порт (при необходимости)
- Нажмите оК и убедитесь, что флажок установлен
- Скачать Чарльз серт отсюда: Charles cert >
- Отправить тыс в файле для себя в электронном письме.
- Откройте электронную почту на устройстве и выберите сертификат
- В «Имя сертификата» ввести все, что вы хотите
- Нажмите кнопку ОК, и вы должны получить сообщение о том, что был установлен сертификат
Вы должны а затем увидеть файлы SSL в Чарльзе. Если вы хотите, чтобы перехватывать и изменять значения, которые вы можете использовать «Map Local» инструмент, который является действительно удивительным:
- В Чарльзу выберите Инструменты> Карта Local
- Выберите «Добавить запись»
- Введите значения для файла, который вы хотите заменить
- в «Локальный путь» выберите файл, который вы хотите, чтобы приложение для загрузки вместо
- нажмите OK
- Убедитесь, что выбрана запись и нажмите кнопку OK
- Запустить приложение
- Вы должны увидеть в «Примечания», что ваш файл загружается вместо живой один
Шаг 4 немного сложнее. Если вы хотите разрешить ВСЕ хосты, то просто ничего не добавляйте! Я пытался с «\ *» и «\ *. \ *» И получал ошибку «Файл сертификата не существует». Выход из раздела местоположения в пустое разрешен для меня. – Tiago
Этот ответ кажется устаревшим. После обновления до Charles 3.10 корневой файл Charles cert генерируется для каждого ПК/Mac во время установки, вы можете экспортировать его из справки> SSL Proxying> Save Charles Root .... – semicircle21
@ semicircle21 - вы должны добавить новый ответ, чтобы он может быть проголосован – bkurzius
Спасибо за @ bkurzius Ответим и это обновление для Charles 3.10+.(Причина в том, here)
- Открыть Чарльз
- Перейти к прокси> SSL Proxy Settings ...
- Check «Включить SSL прокси-соединения»
- Выберите «Добавить местоположение» и введите имя хоста и порт (если необходимо)
- Нажмите «ОК» и убедитесь, что опция отмечена
- Перейти к справочной системе> SSL-проксирование>
Install Charles Root Certificate on a Mobile Device or Remote Browser...
и просто следовать инструкциям. (Используйте браузер Android, чтобы загрузить и установить сертификат.) - В «Имя сертификата» ввести все, что вы хотите
- Нажмите кнопку ОК, и вы должны получить сообщение о том, что сертификат был установлен
Нет «Разрешить SSL-проксирование» –
@ MarianPaździoch Извините за ошибку в шаге 2: 2. Перейдите в Прокси> SSL-прокси Настройки ... – semicircle21
Примечание. На шаге «Добавить местоположение» вы можете ввести * в качестве хоста и 443 в качестве порта, если вы хотите включить прокси SSL для всего трафика HTTPS. – markproxy
для Android7
см: How to get charles proxy work with Android 7 nougat?
для Android версии ниже Android7
С вашего компьютера, запустите Чарльз:
Открыть Настройки прокси-сервера: Proxy -> Настройки прокси, прокси Tab, установите флажок "Включить прозрачный HTTP прокси", и помните, "Порт" в сердце.
SSL Proxy Settings: Proxy -> SSL Proxy Settings, вкладка SSL проксирование, Check «включить SSL прокси-соединения», и добавить . Местоположения:
Открытые параметры контроля доступа: Прокси -> Настройки контроля доступа. Добавьте свою локальную подсеть для авторизации компьютеров в вашей локальной сети, чтобы использовать прокси-сервер с другого компьютера/мобильного устройства.
В Android Phone:
Настройка мобильного: Перейдите в раздел Настройки -> Беспроводные & сети -> WiFi -> Connect или изменить сеть, заполнить на компьютере IP адрес и порт (8888):
Получить сертификат SSL. Посетите этот URL в мобильном браузере: http://charlesproxy.com/getssl
В «Имя сертификата» ввести все, что вы хотите
Примите предупреждение системы безопасности и установить сертификат.Если вы установите его успешно, то вы, вероятно, увидеть, как что-н: В телефоне, Настройки -> Безопасность -> Доверенные учетные данные:
Готово.
, то вы можете иметь некоторые испытания на свой мобильный, запрос шифруется по протоколу HTTPS будет отображаться в Charles:
Я использую Charles 4.1.3 и в меню справки, он говорит мне: «Настройте свое устройство, чтобы использовать Charles как его HTTP-прокси на 10.72.xx.xx: 8888, затем перейдите к chls.pro/ssl, чтобы загрузить и установить сертификат. «Он работает на моем iPhone, но не на Android. В моем Android я посещаю старые работы url 'charlesproxy.com/getssl'. – iplus26
В браузере Chrome Chrome на Android 6.0, когда я перешел на http://charlesproxy.com/getssl, он показал статическую страницу «Сертификация сертификата SSL CA CA ...» и не начал загрузку сертификата. Просьба уточнить, что необходимо сделать в этом случае? – vikramvi
Я мог бы решить описанную выше проблему с помощью следующих шагов: 1. удалить существующий сертификат charles (поврежден/истек/и т. Д.) 2. включить прокси-сервер в устройстве 3. загрузить новый сертификат (смешная вещь здесь, как показано ниже, на одном android «charles-proxy..certificate» .cer »загружается, а на другом« charles-proxy..certificate.pem »загружается. 4. Из браузера Chrome, пытающегося открыть файл .pem, появляется сообщение об ошибке. 5. Прямо перейдите в папку с файловым менеджером. на нем и дать новое имя Чарльзу, он будет установлен, и вы можете увидеть трафик в charles – vikramvi
Для новой эмулятор может быть полезным для запуска из командной строки с помощью:
emulator -netdelay none -netspeed full -avd <emulator_name> -http-proxy http://<ip-address>:8888
Убедитесь, что вы следуете @ совет User9527 по выше, а для остальной части установки
популярнейших ответы работают идеально (а бит, но все еще работает), но я просто хочу упомянуть, что с Android N мы все можем настроить ваши приложения, чтобы иметь SSL-сертификаты доверия (для выпуска, отладки и т. д.), включая сертификат SSL SSL (если вы загрузить сертификат Чарльза и поместить файл .pem в свою сырую папку). Более подробная информацию можно найти здесь: https://developer.android.com/training/articles/security-config.html
Также официальную Чарлзла документация может быть полезна для установки этого: https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Надеется, что это поможет настройке Чарльз внутри приложения проекта не на каждом отдельном устройстве Android.
Для меня проблема была в том, что IP-адрес, с которым Чарльз говорил мне, чтобы направить в мои настройки прокси-сервера, был неправильным. Чтобы решить, я перешел в ifconfig
в терминал и попробовал разные IP-адреса (перечисленные рядом с inet
) в порту 8888
для текущих активных подключений
- 1. Проблема с Android и проблема импорта
- 2. Проблема с Android с дооснащением и RxJava
- 3. Проблема с диспетчером Android Android
- 4. Проблема с Android/фрагментом Android
- 5. android lsitview OpenGLRenderer и проблема с текстурой?
- 6. Android: Проблема с ScollView и ViewPager
- 7. Проблема с размещением и позиционированием Android
- 8. Android Проблема с scrollviews и изменением размера
- 9. Проблема Threading с Java и Android
- 10. Проблема с MySQL, Android и PHP
- 11. Android - проблема с AlarmManager и BroadcastReceiver
- 12. Проблема с AppCompat и темы в Android
- 13. Android-масштабирование и проблема с касанием
- 14. Проблема с Android-библиотеками и проектом
- 15. PayPal SDK и проблема интеграции с Android
- 16. Android Tilt проблема с акселерометром и магнитометром
- 17. Проблема с таймером и расписанием, Android
- 18. Проблема с iFrame и jQueryMobile на Android
- 19. Android: проблема с ListViews и CheckBoxes
- 20. Android: replaceAll() и проблема с двойной кавычкой
- 21. Android tabHost и проблема с иконкой tabWidget
- 22. Проблема с установкой Android Studio и Java
- 23. Проблема с ротацией и фрагментами Android
- 24. Android - GridView и проблема с производительностью изображения
- 25. Android - проблема с OnClickListener и OnLongClickListener
- 26. Проблема связи с клиентами и сервером Android
- 27. Android: проблема с использованием Thread и Handler
- 28. Android: проблема с SpanableString и ListView
- 29. Проблема с DWR и Android-браузером
- 30. Проблема с @string и разработка для android
Если вы на Android 7.0, вы можете найти решение по этой ссылке: [введите описание ссылки здесь] (http://stackoverflow.com/a/39227880/7220486) –