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

Posted

技术标签:

【中文标题】Flutter Http错误SocketException:操作系统错误:连接被拒绝【英文标题】:Flutter Http error SocketException: OS Error: Connection refused 【发布时间】:2018-10-26 10:37:05 【问题描述】:

我正在新创建的项目中使用最新的颤振版本。 我正在尝试调用此 URL https://jsonplaceholder.typicode.com/users

但在 iosandroid 上,我收到 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

【问题讨论】:

请确保网络在您的设备中可用..您仍然收到异常吗? 你应该尝试直接使用http包pub.dartlang.org/packages/http而不是dart:io。更多资源在这里flutter.io/cookbook/networking/fetch-data @ShyjuM 我有网络,因为我可以从设备浏览器访问相同的 URL :) @HadrienLejard 我先试试这个 :) 但同样的错误 是的,我跟着这个 :) 我发现了问题,我不得不添加标题“accept:application/json”,之后一切都很好...... 【参考方案1】:

我遇到了同样的错误,但仅限于发布版本(android)。在 app/src 下的 android 文件夹中有 3 个文件夹:debug、main 和 profile,每个文件夹都包含 AndroidManifest 文件。 debug 文件夹中的那个有 Internet 权限,但 main 中的那个没有,这导致了错误。

【讨论】:

main、debug 和 profile 所有清单文件在我的项目中都有 Internet 权限,但在真实设备上仍然出现套接字异常错误。 @s.j 你在更新 AndroidManifest 文件后尝试运行“flutter clean”吗? @s.j 对不起,但提供的信息我真的帮不了你。【参考方案2】:

尝试从手机访问该网址。 我有同样的问题,我使用 python http.server 来托管一个 json 文件。 首先,我给了我同样的例外,因为我将它与预定义的 url 绑定。 而且我的模拟器无法访问该网址。

【讨论】:

以上是关于Flutter Http错误SocketException:操作系统错误:连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

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

Flutter web http错误:XMLHttpRequest错误

如何解决flutter中的http错误代码400缺少参数?

API 不工作/http 错误 SocketException:在发布版本中主机查找失败(在调试模式下工作)对于 Flutter

Flutter 中的 Base64 字符串 HTTP Post

Flutter 项目:错误