在flutter中调用API时连接失败

yzuktlbb  于 2023-01-27  发布在  Flutter
关注(0)|答案(1)|浏览(256)

我正在使用swagger连接API,它提供了出色的结果,但当通过移动的应用程序点击API时,它会引发错误connection failed: OS Error: Network is unreachable errorno= 101
我的API调用代码

var file = await File(filepath).readAsBytes();
  var uri = Uri.parse('http://192.168.18.2:1111/predict');
  // print(url);
  // Create a multipart request
  var request = http.MultipartRequest("POST", uri);
  // Create a multipart file
  var multipartFile = http.MultipartFile.fromBytes(
    'file',
    file,
    filename: filepath.split("/").last,
  );
  // Add the file to the request
  request.files.add(multipartFile);
  try{
    return await request.send();
  }
  catch(e){
    return http.StreamedResponse(Stream.error(e), 404);
  }
8wtpewkr

8wtpewkr1#

这可能是由于一些问题。

  • 确保设备已连接,
  • Wifi或数据已启用,
  • 您的应用具有权限,

如果您在Android和iOS上使用HTTP而非HTTPS,则必须在Android 8或更高版本上使用allow clear text
最好的开始是在执行代码时查看logcat,这将给予导致失败的原因。如果您从模拟器连接到本地计算机,您还需要使用10.0.2.2 address
如果您在本地网络上从真实的设备连接到PC,请确保您在同一网络中,防火墙也允许您连接。

相关问题