为啥 HTTP 包在 Flutter web 中不起作用?

Posted

技术标签:

【中文标题】为啥 HTTP 包在 Flutter web 中不起作用?【英文标题】:why doesn't HTTP package work in Flutter web?为什么 HTTP 包在 Flutter web 中不起作用? 【发布时间】:2020-01-19 04:09:32 【问题描述】:

我正在尝试使用 HTTP 执行获取请求,只是为了获取 google 并将其显示为文本。

我的代码适用于 androidios,但不适用于 Web。

String _google;

void _onClick() async 
  final _res = await http.get('https://www.google.com');
  print(_res.body);
  setState(() => _google = _res.body);


@override
Widget build(BuildContext context) 
  return Scaffold(
    appBar: AppBar(
      title: Text(''),
    ),
    body: Center(
      child: Text(_google ?? 'null'),
    ),
    floatingActionButton: FloatingActionButton(
      onPressed: _onClick,
      child: Icon(Icons.send),
    ),
  );

【问题讨论】:

【参考方案1】:

我不知道是什么导致了这个问题的发生,但一个好的解决方法是使用网站cors-anywhere.herokuapp.com 作为代理; 或将res.header('Access-Control-Allow-Origin', '*') 添加到您的后端响应中。

我相信它会有所帮助:))

【讨论】:

后端工作正常,但我没有办法在不使用第三个站点的情况下获得像 google.com 这样的任何站点吗?

以上是关于为啥 HTTP 包在 Flutter web 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥捆绑包在我的 asp.net mvc 项目中不起作用?

谷歌字体包在颤振中不起作用

为啥来自 xml Web 服务的字符串在 Android TextView 中不显示新行?

http包在flutter中从api获取错误的图像url

为啥在 dart/flutter 中不等待 await 返回就执行代码?

Flutter Web 在 Firebase 托管中不起作用