Flttter Http error SocketException: ошибка ОС: соединение отклонено - PullRequest
0 голосов
/ 16 мая 2018

Я использую последнюю версию флаттера в только что созданном проекте.Я пытаюсь назвать этот 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 • канал бета

Framework • ревизия 44b7e7d3f4 (4 недели назад) • 2018-04-20 01: 02: 44 -0700

Двигатель • ревизия 09d05a3891

Инструменты • Dart 2.0.0-dev.48.0.flutter-fe606f890b

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

У меня была такая же ошибка, но только при выпуске билда (андроид).В папке android в app / src находятся 3 папки: debug, main и profile, каждая из которых содержит файл AndroidManifest.У файла в папке отладки было разрешение на доступ к Интернету, а у основного - нет, и это вызывало ошибку.

0 голосов
/ 05 апреля 2019

Попробуйте зайти на URL с телефона.У меня была та же проблема, я использовал Python http.server для размещения файла JSON.Сначала я дал мне то же исключение, потому что я связал его с предопределенным URL.И мой эмулятор не смог добраться до URL.

...