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
但在 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
【问题讨论】:
请确保网络在您的设备中可用..您仍然收到异常吗? 你应该尝试直接使用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错误
API 不工作/http 错误 SocketException:在发布版本中主机查找失败(在调试模式下工作)对于 Flutter