最佳答案
我遵循 颤动网络/HTTP 教程对在本地主机: 8000上运行的服务器执行 GET 请求。通过浏览器访问我的本地主机工作正常。我的代码是这样的:
var url = 'http://localhost:8000';
Future<String> getUnits(String category) async {
var response = await httpClient.get('$url/$category');
return response.body;
}
当我指向任何实际的 URL (比如 https://example.com
)时,这种方法都可以很好地工作,但是当我指向 https://localhost:8000
或 https://localhost
(或这些 URL 的任何变体)时,我会得到一个错误,从以下开始:
E/flutter ( 4879): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 4879): SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 47060
E/flutter ( 4879): #0 IOClient.send (package:http/src/io_client.dart:30:23)
上面错误中的端口每次重新加载应用程序时都会发生变化。我查看了 http package code,似乎没有指定 URL 端口的方法。如何指向本地主机?