我正在使用一个新创建的项目上的最后一个Flutter版本。我试图将此URL称为https://jsonplaceholder.typicode.com/users
但在iOS或Android上,我得到了flutter: Error SocketException: OS Error: Connection refused, errno = 61, address = jsonplaceholder.typicode.com, port = 52988
以下是我的网络电话:
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:test_flutter/constants.dart';
import 'package:test_flutter/users/models/user.dart';
class UserNetworkDatasource {
Future<List<User>> retrieve() async {
var httpClient = HttpClient();
var uri = new Uri.https(baseUrl, '/users');
var request = await httpClient.getUrl(uri);
var response = await request.close();
var responseJson = await response.transform(utf8.decoder).join();
List userMap = json.decode(responseJson);
return userMap.map((jsonUser) => User.fromJson(jsonUser));
}
}
字符串
还有什么可以做的比这更多吗?我检查了Android清单,它有互联网权限,所以应该是确定的
Flutter 0.3.2 ·通道beta
框架·修订版44 b7 e7 d3 f4(4周前)· 2018-04-20 01:02:44 -0700
发动机·修订版09 d 05 a3891
工具· dart 2.0.0-dev.48.0. flutter-fe 606 f890 b
3条答案
按热度按时间5fjcxozz1#
我也有同样的错误,但只在发布版本(Android)上。在app/src下的android文件夹中有3个文件夹:debug、main和profile,每个都包含AndroidManifest文件。debug文件夹中的文件有internet权限,但main中的文件没有,这导致了错误。
t9aqgxwy2#
尝试从手机转到URL。我也遇到了同样的问题,我使用python http.server来托管json文件。首先,我给了我同样的异常,因为我用一个预定义的URL绑定它。我的模拟器无法访问URL。
uplii1fm3#
我们(我自己和我的女朋友)正在运行一个Android手机(不是模拟器),我们正在使用我们的本地服务器上的Web服务在同一网络与Android手机,但错误是在我们的本地服务器的端口,它没有打开.
在我们运行Ubuntu 22.04.2 LTS的本地服务器上。
第一个月
您可以搜索如何在操作系统中打开端口,看看它是否适合您。
Linux:https://www.digitalocean.com/community/tutorials/opening-a-port-on-linux#for-ubuntu-users-and-ufw-based-systems
适用于MacOS:https://www.macworld.com/article/671729/mac-firewall-how-to-open-specific-ports-in-os-x-10-10-firewall.html
对于Windows:https://learn.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-firewall-for-report-server-access?view=sql-server-ver16的