Charles Proxy для Genymotion останавливает трафик 10.0.3.2 localhost
Я прочитал все темы по этой теме, и инструкции по настройке Чарльза с genymotion одинаковы:
http://rexstjohn.com/using-genymotion-charles-proxy/
In your Genymotion Android emulator…
Settings -> Wifi -> Press and hold your active network
Select “Modify Network”
Select “Show Advanced Options”
Select “Proxy Settings -> Manual”
Set your Proxy to: 10.0.3.2 (Genymotion’s special code for the local workstation)
Set your Port to: 8888
Press Save
моя настройка:
- сервер весны развития localhost, работающий на моем Mac OS
- android-приложение, установленное на моем эмуляторе genymotion. Эмулятор genymotion взаимодействует с моим локальным dev-сервером через ip 10.0.3.2 (как получить доступ к localhost из эмулятора Genymotion android?)
Я не уверен, что инструкции старые, но проблема в том, что трафик, который течет из моего эмулятора genymotion, записывается в прокси-сервере Charles, но он просто не достигает моего сервера localhost. Я не использую SSL-шифрование между моим сервером и моим приложением.
Это мои настройки внутри genymotion wifi экран:
вот как выглядит мой прокси-сервер Charles - вы можете видеть, что это"подключение к удаленному хосту". Он подключается навсегда, а затем в конечном итоге дает мне ошибку 503 на моей стороне приложения android, и ничего не возвращается:
Если я выключу Charles Proxy, приложение подключается к моему серверу localhost без проблем, и все вызовы возвращаются успешно. Я думаю, что это что-то делать с Чарльзом, который останавливает мое приложение от общения с моим сервером localhost.
в Postman, если я попытаюсь запросить тот же url, что и мое приложение android, оно работает успешно, и результаты также успешно регистрируются в Charles:
http://localhost:8443/ + my api endpoint **OR** http://localhost.charlesproxy.com:8443/ + my api endpoint
единственная разница между запросом в Postman и запросом в моем приложении для android заключается в том, что мое приложение попадает на этот url 10.0.3.2, потому что я работаю с эмулятор:
http://10.0.3.2:8443/ + my api endpoint
Я также добавил 10.0.3.2 в Мои настройки контроля доступа:
Я могу зайти в свой интернет-браузер эмулятора Android genymotion и искать такие сайты, как www.msn.com и он вернется успешно плюс войти результаты в Чарльз, но я не ищу или готовы заплатить 50 долларов США за инструмент для записи моего Android трафика браузера. Мне нужно, чтобы он работал с моим Android-приложением, чтобы я мог отлаживать свое приложение. Я не уверен, как это исправить, кто-нибудь знает, если я что-то упускаю?
EDIT:
в случае, если кому-то интересно, я прочитал этот пост в FAQ Чарльза о трафике Localhost не появляется в Charles:
https://www.charlesproxy.com/documentation/faqs/
но я не могу изменить 10.0.3.2, используемый Genymotion на http://localhost.charlesproxy.com/ вместо этого я не думаю это решило бы мою проблему.
1 ответов
Итак, я играл с эмулятором Genymotion и Чарльзом сейчас, и мне действительно удалось заставить Чарльза записывать трафик localhost.
подобно тому, как я запросил через почтальона:
http://localhost.charlesproxy.com:8443/ + my api endpoint
Я только что изменил хост-часть всех моих конечных точек api на:http://localhost.charlesproxy.com:8443/
и это сработало.