我无法从我的手机 phone 连接到 Api Rest(在 python Flask Localhost 中制作)

I wouldn't be able to connect to the Api Rest (made in python Flask Localhost) from my cell phone

嗨,你好吗?我想知道为什么我无法从我的手机 phone 连接到 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 了解不多,但是:

  1. 两个设备都在同一个网络上吗?这可能是个愚蠢的问题,但有时并非如此。
  2. 你输入的IP地址是真实的私有IP地址吗?您可以在 Linux 上执行 ip addr 并在 Windows 上执行 ipconfig 以获得您的私人 IP 地址。
  3. 试试“0.0.0.0”。在 http.server 中,可能在 Flask 中,0.0.0.0 表示任何连接。也可以查看我的类似问题.

我找到了解决方法,在Flask中你必须写主机

if __name__ == '__main__':
    # load_dotenv()
    app.run(debug=True,port=8000,host="your Ip")