你好吗?我想知道为什么我不能从我的手机连接到Api Rest(在python Flask Localhost中制作)(我用它作为带电缆的设备,我不使用模拟器)。我不知道是否需要在android中配置一些东西。我在哪里读到,你必须把它放在androidmanifest。xml
android:usesCleartextTraffic="true"
我把它放进去了,但它仍然不工作。我试过使用"localHost"10.0.0.2"http://127.0.0.1:8000/",但没有任何作用。我不知道我做错了什么,我给你我的代码
class AuthService extends ChangeNotifier{
final String _baseurl= 'http://10.0.2.2:8000';
Future<String> login(String email, String password) async{
final Map<String,dynamic> authData={
'email':email,
'password':password,
// 'returnSecureToken':true
};
final url= Uri.http(_baseurl, 'api/auth'
// {
// 'key':_apiToken
// }
);
final resp= await http.post(url,body:json.encode(authData));
final Map<String,dynamic> decodeResp =json.decode(resp.body);
print(resp);
return decodeResp[0];
}
}
如果你能帮助我,我将非常感激,我真的要发疯了,试图找到答案。
我不太了解flask,但是:
- 设备是否在同一网络中?这可能是一个愚蠢的问题,但有时他们不是。
- 您输入的IP地址是否为实际私网IP地址?您可以在Linux上执行
ip addr
,在Windows上执行ipconfig
来获取您的私有IP地址。 - 尝试"0.0.0.0"在
http.server
中,可能在Flask中,0.0.0.0表示任何连接。你也可以在这里看到我类似的问题。
我找到了解决方案,在Flask中你必须要写host
if __name__ == '__main__':
# load_dotenv()
app.run(debug=True,port=8000,host="your Ip")