如何在dart中使用HttpClient发出HTTPS请求?

如何在dart中使用HttpClient发出HTTPS请求?,dart,dart-html,Dart,Dart Html,我正在使用来自dart的HttpClient(dart:io包,而不是dart:http),我想发送一个HTTPS请求。有办法吗?我似乎找不到一个方法允许我这样做。newhttpclient().getUrl(Uri.parse()https://www.somedomain.com')); 发送HTTPS请求的步骤与dart/FLATT中的HTTP相同,您需要添加的一件事是允许自签名证书处理badCertificateCallback,将此添加到您的HttpClient: var httpCl

我正在使用来自dart的HttpClient(dart:io包,而不是dart:http),我想发送一个HTTPS请求。有办法吗?我似乎找不到一个方法允许我这样做。

newhttpclient().getUrl(Uri.parse()https://www.somedomain.com'));

发送HTTPS请求的步骤与dart/FLATT中的HTTP相同,您需要添加的一件事是允许自签名证书处理badCertificateCallback,将此添加到您的HttpClient:

var httpClient = HttpClient();
      httpClient.badCertificateCallback =
          ((X509Certificate cert, String host, int port) =>
              true); // Allow self signed certificates
参考:


参考资料:

为什么不试试
HttpClient.open(url)
?我没有看到带有该签名的方法……对不起,甚至没有看到带有openUrl的方法。我本来希望能够通过这个计划来开启。其他方法不适合,因为我也需要其他HTTP动词(即PUT和PATCH)?我想在这种情况下你应该删除这个问题。不,因为没有一个带有签名的方法可以让我在这个表单中指定url。对不起,有一个方法,我没有看到。我太专注于如何将方案转换为开放方法。还有另一种叫做openUrl的方法来完成这项工作。然而,很奇怪,你不能将scheme传递到open方法中。你能用
openUrl
回答这个问题,让未来的Darters看到它吗?很抱歉,我不知道API与浏览器中的API有如此大的不同(有一段时间没有使用它)。现在我明白了为什么它不是那么明显。
HttpClient client = new HttpClient();
client.getUrl(Uri.parse("http://www.example.com/"))
    .then((HttpClientRequest request) {
      // Optionally set up headers...
      // Optionally write to the request object...
      // Then call close.
      ...
      return request.close();
    })
    .then((HttpClientResponse response) {
      // Process the response.
      ...
    });