Após atualizar minha versão do Flutter para 3.29.3:
Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ea121f8859 (2 weeks ago) • 2025-04-11 19:10:07 +0000
Engine • revision cf56914b32
Tools • Dart 3.7.2 • DevTools 2.42.3
Não consigo contatar meu aplicativo SpringBoot. Uso um certificado que gerei com o OpenSSL:
openssl.exe req -newkey rsa:2048 -keyout PRIVATEKEY.key -out MYCSR.csr
openssl.exe req -new -x509 -nodes -sha256 -days 365 -key PRIVATEKEY.key -out host.cert
openssl.exe pkcs12 -export -in host.cert -inkey PRIVATEKEY.key -out keystore.p12 -name myApp
Com o Postman, meu requet : https://localhost/auth/authenticate
on POST
request funciona bem e me dá meu access_token.
Agora, quando abro meu aplicativo Flutter no meu telefone físico, recebo este erro:
I/flutter ( 3796): ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 192.168.1.40, port = 37950, uri=https://192.168.1.40/auth/authenticate
I/.example.xplore( 3796): Thread[2,tid=3802,WaitingInMainSignalCatcherLoop,Thread*=0xb40000732bd83c00,peer=0x15440320,"Signal Catcher"]: reacting to signal 3
I/.example.xplore( 3796):
I/.example.xplore( 3796): Wrote stack traces to tombstoned
D/Looper ( 3796): dumpMergedQueue
D/OplusLooperMsgDispatcher( 3796): dumpMsgWhenAnr
Meu endereço IP local no meu computador (ipconfig) é 192.168.1.40 .
Dentro do meu main.dart, eu substituí createHttpClient
(o que eu acho que é SOMENTE para DEV, não em PROD):
class MyHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext? context) {
return super.createHttpClient(context)
..badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
}
}
Minha POST
solicitação no meu aplicativo Flutter se parece com isso:
var response = await http.post(Uri.parse(login),
headers: {"Content-Type": "application/json"},
body: jsonEncode(reqBody))
Se precisar de mais informações, deixo que me pergunte :)
Obrigado pela ajuda!