我在我的Ffltter应用程序中有以下代码,其中MyDataLoader是一个从main.dart开始的小部件

Code:

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

class MyDataLoader extends StatefulWidget {
  @override
  _MyDataLoaderState createState() => _MyDataLoaderState();
}

class _MyDataLoaderState extends State<MyDataLoader> {
  void getData() async {
    final response = await http.get('https://jsonplaceholder.typicode.com/albums/1');
    print(response);
  }

  @override
  void initState() {
    super.initState();
    getData();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Text('MyDataLoader screen'),
    );
  }
}

Question:
Above code is inspired from https://flutter.dev/docs/cookbook/networking/fetch-data. I get the following error when MyDataLoader widget loads up:

[错误:fltter/lib/ui/ui_dart_state.cc(177)]未处理的异常: SocketException:连接失败(操作系统错误:不允许操作, 错误号=1),地址=jsonplaceholder.ypicode.com,端口=443

上面的错误当然是由于加载小部件时调用的以下代码行造成的.

最终响应=等待

But,如果我在浏览器上打开https://jsonplaceholder.typicode.com/albums/1,我能够看到它有我期望在响应中收到的虚拟json.这意味着我有很好的网络连接.

我正在macOS Big Sur version 11.1台上运行我的应用程序.

我做错了什么?我的应用程序需要达到declare some permissions才能从MacOS环境访问互联网吗?

推荐答案

MacOS需要您申请特定授权才能访问网络.为此,打开macos/Runner/DebugProfile.entitlements并添加以下键-值对.

<key>com.apple.security.network.client</key>
<true/>

然后在macos/Runner/Release.entitlements分钟内做同样的事情.

您可以在Desktop support for Flutter文档中阅读有关这方面的更多信息.

Flutter相关问答推荐

来自另一个屏幕的数据

在Flutter中,CachedNetworks Image不工作(不从CachedData加载)

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

如何在不使用NULL-check(!)的情况下缩小`FutureBuilder.Builder()`内部的`Snaphot`范围

Android NFC未收到空的NFC标签

我的flutter代码显示一个小部件被认为是死代码,为什么?

遇到图像路径格式问题

Flutter 文件拾取器Android SingleInstance模式它返回的文件路径为空

Flutter飞溅屏幕即使在修改后仍显示默认徽标和背景色

Flutter中不使用Container是否可以做margin

TextField 中的富文本并获取 RenderParagraph

Flutter中pubspec.yaml文件中的name参数是什么?

通过在父窗口小部件功能上设置状态来浏览屏幕

Freezed+BLoc 如何从 BLoc Listener 查看当前状态和特定状态的变量

Flutter 分析发现 Gitlab CI/CD 管道中的问题,但它在本地没有

Flutterfire Configure - 未处理的异常和没有 firebase 初始化

具有 BLOC 和存储库模式的 Flutter Workmanager

flutter - 无法解析 JSON 消息:文档为空

如何验证非表单字段?

主题:ThemeData() Flutter