Flutter Http错误SocketException:操作系统错误:连接被拒绝

时间:2018-05-16 11:29:50

标签: dart flutter dart-io

我在新创建的项目中使用最后一个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

2 个答案:

答案 0 :(得分:3)

我有同样的错误,但仅适用于发行版(android)。在app / src下的android文件夹中,有3个文件夹:debug,main和profile,每个文件夹都包含AndroidManifest文件。调试文件夹中的一个具有Internet权限,但主要文件夹中的一个没有Internet权限,这是导致错误的原因。

答案 1 :(得分:0)

尝试从电话转到网址。 我有同样的问题,我在使用python http.server托管json文件。 首先,我给了我同样的例外,因为我将其与预定义的URL绑定在一起。 而且我的模拟器无法访问该网址。