我正在使用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);
}
1条答案
按热度按时间8wtpewkr1#
这可能是由于一些问题。
如果您在Android和iOS上使用HTTP而非HTTPS,则必须在Android 8或更高版本上使用allow clear text。
最好的开始是在执行代码时查看logcat,这将给予导致失败的原因。如果您从模拟器连接到本地计算机,您还需要使用10.0.2.2 address。
如果您在本地网络上从真实的设备连接到PC,请确保您在同一网络中,防火墙也允许您连接。