【发布时间】:2022-01-07 22:42:21
【问题描述】:
当我尝试对 .net 后端执行简单的发布请求时,我一直在努力解决 http 请求问题。后端设置了 CORS,我经历了许多堆栈溢出帖子,试图解决这个问题,但它仍然给我同样的错误。当我在 SwaggerUI(与邮递员相同)上测试 API 时,一切正常。我不明白。我在这里缺少什么吗?谢谢。
代码:
import 'dart:convert';
import 'package:http/http.dart' as http;
abstract class ParentRemoteDataSource {
Future<void> create({required Map<String, dynamic> parent});
}
class ParentRemoteDataSourceImpl implements ParentRemoteDataSource {
final http.Client _client = http.Client();
final String _url = "http://localhost:5000/api/member/create";
@override
Future<void> create({required Map<String, dynamic> parent}) async {
final Uri uri = Uri.parse(_url);
final Map<String, String> headers = {"Content-Type": "application/json"};
final http.Response response = await _client.post(
uri,
headers: headers,
body: jsonEncode(parent),
);
print(response.body);
}
}
上面的代码在按下 UI 部分的按钮时执行。
发布请求的错误为:ERR_CERT_AUTHORITY_INVALID
,下面写着:Uncaught (in promise) Error: XMLHttpRequest error.
【问题讨论】:
-
ERR_CERT_AUTHORITY_INVALID 表示无法验证 HTTPS 证书,因此连接不安全,但是在您的代码中,您使用的是 HTTP 而不是 HTTPS。
-
这为我解决了:stackoverflow