Reputation: 53
Until a moment ago, I was working on an emulator and everything was fine. Now I have installed the app on my Android I have an error message. I use in http Package.
On the login page, a request is sent to sign in. An email variable and a password variable. It was sent in the request of an HTTP package. It comes to the server for testing and return of result. If it is positive it connects to the next page. If not it remains on the same page.
So far it has worked wonderfully. Suddenly it does not work, why?
The Console:
E/flutter ( 5005): [ERROR:flutter/lib/ui/ui_dart_state.cc(171)] Unhandled Exception: SocketException: Insecure socket connections are disallowed by platform: almog.*******.com
E/flutter ( 5005): #0 Socket.startConnect (dart:io/socket.dart:823:9)
E/flutter ( 5005): #1 _ConnectionTarget.connect (dart:_http/http_impl.dart:2196:18)
E/flutter ( 5005): #2 _HttpClient._getConnection.connect (dart:_http/http_impl.dart:2547:12)
E/flutter ( 5005): #3 _HttpClient._getConnection (dart:_http/http_impl.dart:2552:19)
E/flutter ( 5005): #4 _HttpClient._openUrl (dart:_http/http_impl.dart:2438:12)
E/flutter ( 5005): #5 _HttpClient.openUrl (dart:_http/http_impl.dart:2323:7)
E/flutter ( 5005): #6 IOClient.send (package:http/src/io_client.dart:31:37)
E/flutter ( 5005): #7 BaseClient._sendUnstreamed (package:http/src/base_client.dart:91:38)
E/flutter ( 5005): #8 BaseClient.post (package:http/src/base_client.dart:32:7)
E/flutter ( 5005): #9 post.<anonymous closure> (package:http/http.dart:70:16)
E/flutter ( 5005): #10 _withClient (package:http/http.dart:166:20)
E/flutter ( 5005): #11 post (package:http/http.dart:69:5)
E/flutter ( 5005): #12 _LoginPageState.signIn (package:kibuiramon/service/service_log.dart:103:26)
E/flutter ( 5005): <asynchronous suspension>
E/flutter ( 5005): #13 _LoginPageState.showPrimaryButton.<anonymous closure> (package:kibuiramon/service/service_log.dart:346:15)
E/flutter ( 5005): #14 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:993:19)
E/flutter ( 5005): #15 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1111:38)
E/flutter ( 5005): #16 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
E/flutter ( 5005): #17 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)
E/flutter ( 5005): #18 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:287:5)
E/flutter ( 5005): #19 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:259:7)
E/flutter ( 5005): #20 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:157:27)
E/flutter ( 5005): #21 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:362:20)
E/flutter ( 5005): #22 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:338:22)
E/flutter ( 5005): #23 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:267:11)
E/flutter ( 5005): #24 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:295:7)
E/flutter ( 5005): #25 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:240:7)
E/flutter ( 5005): #26 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:213:7)
E/flutter ( 5005): #27 _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter ( 5005): #28 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter ( 5005): #29 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter ( 5005): #30 _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter ( 5005): #31 _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)
E/flutter ( 5005):
The permission in Manifest:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="READ_PRIVILEGED_PHONE_STATE"/>
<uses-permission android:name="REQUEST_PHONE_CALL" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
The sign in function :
signIn(String email, pass) async {
var prefs = await SharedPreferences.getInstance();
print(email+pass);
Map data = {'email': email, 'password': pass , };
var response = await http.post("http://************.com?do=check_user",body: data);
if (response.statusCode == 200) {
List<dynamic> jsonResponse = json.decode(response.body);
if (jsonResponse[0]['error'] == 'true')
{
ErrorConnect = true;
setState(() {
_isLoading = false;
});
}else{ErrorConnect = false;}
if(ErrorConnect == false) {
id = jsonResponse[0]['id'];
log = jsonResponse[0]['log_in'];
banned = jsonResponse[0]['banned'];
prefs.setString("id", id);
prefs.setString("log_in", log);
prefs.setString("banned", banned);
prefs.setString('email', jsonResponse[0]['email']);
if (banned == '1') {
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (BuildContext context) => NotFound()),
(Route<dynamic> route) => false);
} else {
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (BuildContext context) => RoutePage()),
(Route<dynamic> route) => false);
}
} else {
setState(() {
_isLoading = false;
});
}
}
}
EDIT
Now its work ! I needed to convert the url from http to https .
Upvotes: 0
Views: 1190
Reputation: 1
If you can't convert http to https, you can enable cleartextTraffic.
Android:
Create a file res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">your-http-domain.com</domain>
</domain-config>
</network-security-config>
After that, add this to your AndroidManifest:
</application>
...
<meta-data android:name="io.flutter.network-policy"
android:resource="@xml/network_security_config"/>
</application>
Upvotes: 0
Reputation: 173
simple.. you need to convert http: to https: it will work like a charm..
Upvotes: 1