【发布时间】:2018-09-25 03:43:46
【问题描述】:
所以我在 Flutter 中构建应用程序时遇到了一个问题。 我需要将 JSON 数据发布到 https 服务器。由于该应用程序目前正在开发中,因此我们使用的是自签名证书。
我怎样才能在飞镖语言中实现这一点?
下面是我用来通过 http 向网络服务器发出单个 post 请求的代码,但是每当我用 https 替换 http 时>(自签名)我收到一个错误:
HandshakeException:客户端中的握手错误(操作系统错误:
CERTIFICATE_VERIFY_FAILED:自签名证书(handshake.cc:355))
var url = 'http://192.168.1.40/registration.php'; //or https
var data = {"email":"yyyy@xx.com","name":"xyz"};
http.post(url, body:data)
.then((response) {
print("Response status: ${response.statusCode}");
print("Response body: ${response.body}");
}).catchError((error) => print(error.toString()));
我对 Flutter 和 Dart 还很陌生,请帮帮我。欢迎提出建议。
【问题讨论】:
-
有两种不同的 HTTP 客户端:dart:io 和 package:http。你用的是哪个?你被困在哪里了? JSON 位、发布位或证书信任位?也许显示您的代码并分享不起作用的部分。
-
我正在使用包:http。如何绕过验证使用自签名证书?已使用代码对问题进行了更改。