flutterWeb 请求跨域问题
项目安装shelf_proxy依赖库
地址:https://pub.dev/packages/shelf_proxy
虽然start数不多,但是是dart官方提供的包,请放心食用!
在lib目录下新建proxy.dart文件
import 'package:shelf/shelf_io.dart' as shelf_io;
import 'package:shelf_proxy/shelf_proxy.dart';
//前端页面访问本地域名
const String host = 'localhost';
//前端页面访问本地端口号
const int port= 8080;
//proxy域名或IP地址
const String TargetUrl = 'http://merlion.vip.com';
Future main() async {
var server = await shelf_io.serve(
proxyHandler(TargetUrl),
host,
port,
);
// 添加跨域头
server.defaultResponseHeaders.add('Access-Control-Allow-Origin', '*');
server.defaultResponseHeaders.add('Access-Control-Allow-Credentials', true);
print('Serving is running at http://${server.address.host}:${server.port}');
}
命令行启动代理服务
命令行输入
dart ./lib/proxy.dart
Serving is running at http://localhost:8080
启动dart本地代理服务