首页 > 解决方案 > Flutter HTTP 获取请求错误的端口

问题描述

我尝试对我的本地主机服务器执行 GET 请求。我在带有 android studio 的外部设备上运行颤振应用程序,而端点也在 PC 上运行的 XAMPP/php 服务器。现在每次我运行 GET 请求时都会出现问题,它在错误的端口上运行。我写在 url 端口 80 但颤振在 53555 或其他 53 上执行它...我尝试更改 url 但没有任何改变。这是代码和错误消息

var url = new Uri.http("192.168.2.23:80", "/login", {"username":username,"password":password});
print(url);
var client = http.Client();
http.Response response = await client.get(url);

print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');

这是错误

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection timed out, errno = 110, address = 192.168.2.23, port = 53695

标签: dartflutter

解决方案


fetch您可能应该通过以下方式进行整理async

Future<List<Map<String, dynamic>>> fetch() async {
  http.Response response = await http.get('192.168.2.23:80/login');
  if (response.statusCode != 200)
      return null;
  //......
}

PS:Future<>如果需要,只需将地图替换为您的列表类型。


推荐阅读