当我点击登录时,使登录屏幕颤抖,显示错误“网络无法访问”。
我已更改了IP地址“ 10.0.2.2”,“ 8.7.7.7”,但不起作用。
“调试控制台” E / flutter(16082):[错误:flutter / lib / ui / ui_dart_state.cc(148)]未处理 异常:SocketException:连接失败 (操作系统错误:网络无法访问,errno = 101),地址= 10.0.2.2,端口= 80
代码
TextEditingController user=new TextEditingController();
TextEditingController pass=new TextEditingController();
Future<List> _login() async{
final response = await http.post("http://127.0.0.1/my_store/login.php", body: {
"username": user.text,
"password": pass.text,
});
print(response.body);
}
答案 0 :(得分:1)
如果使用的是物理设备,请确保IP地址是计算机的IP。您可以通过在cmd中运行ipconfig
来找到它。记住,您必须连接到互联网才能拥有此IP地址。
答案 1 :(得分:1)
答案 2 :(得分:0)
我搜索了一些有关此问题和类似连接问题的线程。就我而言,有时连接有效,有时则拒绝工作。我用来解决此问题的过程如下:
打开cmd-> ipconfig
the ip that is relevant for my solution
由于我使用的是Apache服务器,并且我有一个php文件来处理我在Flutter中发出的请求,因此将url设置为以下内容:
String url="http://192.168.0.137/login.php"
在您的情况下,代码应为
TextEditingController user=new TextEditingController();
TextEditingController pass=new TextEditingController();
Future<List> _login() async{
final response = await http.post("http://<your_ipv4_of_ipconfig>/my_store/login.php", body: {
"username": user.text,
"password": pass.text,
});
print(response.body);
}
答案 3 :(得分:0)
经过几个小时的挠头,在我的情况下,数据连接图标被错误地关闭,将各种数据流切割到 vm :~