Стек браузера
Я скачал локальное приложение стека браузера чтобы иметь возможность включать принудительную локальную обработку запросов и пропускать все запросы API через мою машину. Благодаря этим настройкам эмулятор теперь может получать доступ к серверам через Safari на iOS или Chrome на Android. Но запросы приложений по-прежнему не увенчались успехом.Приложение
Я включил флаг Интернета на AndroidЯ также попробовал включить настройку открытого текстового трафика, чтобы проверить, не является ли это причиной отсутствия доступа к серверу из-за безопасности приложения.
android:usesCleartextTraffic="true"
Что касается флаттера, я переопределил http, чтобы обеспечить доступность серверов без сертификата.
class MyHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext? context) {
return super.createHttpClient(context)
..badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
}
}
Ни одна из этих настроек не делала сервер доступным через стек браузера. Несмотря на это, если я загружаю приложение на физическое устройство с настроенным VPN, приложение сможет без проблем связаться с сервером.
Я использую пакет dio для запросов API, но также пробовал с http-пакетом. Ни один из этих пакетов не смог выполнить успешный запрос API, поэтому я также отказался от возможности быть пакетом.
Исключение, выдаваемое при каждом запросе:
ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = pprod.ocsi.mx, port = 51444, uri = https://pprod.ocsi.mx/Extranet/Services ... xApp/token
Подробнее здесь: https://stackoverflow.com/questions/793 ... owserstack
Мобильная версия