我在新创建的项目中使用最后一个flutter版本。
我正在尝试将此网址称为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清单并且它具有Internet权限,所以应该没问题
Flutter 0.3.2•频道测试版
框架•修订版44b7e7d3f4(4周前)•2018-04-20 01:02:44 -0700
引擎•修订版09d05a3891
工具•Dart 2.0.0-dev.48.0.flutter-fe606f890b
答案 0 :(得分:3)
我有同样的错误,但仅适用于发行版(android)。在app / src下的android文件夹中,有3个文件夹:debug,main和profile,每个文件夹都包含AndroidManifest文件。调试文件夹中的一个具有Internet权限,但主要文件夹中的一个没有Internet权限,这是导致错误的原因。
答案 1 :(得分:0)
尝试从电话转到网址。 我有同样的问题,我在使用python http.server托管json文件。 首先,我给了我同样的例外,因为我将其与预定义的URL绑定在一起。 而且我的模拟器无法访问该网址。