我在我的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环境访问互联网吗?