Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颤振web http请求badCertificateCallback_Http_Flutter_Flutter Web_Dio - Fatal编程技术网

颤振web http请求badCertificateCallback

颤振web http请求badCertificateCallback,http,flutter,flutter-web,dio,Http,Flutter,Flutter Web,Dio,我想知道你们是否能给我指出一个有http badCertificateCallback的Webflight库。我尝试过,但它给了我一个错误,并提交了一个问题,但我还没有收到他们的消息 DIO代码: Dio dio = new Dio(options); (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) { client.badCertificateCallback = (X509Ce

我想知道你们是否能给我指出一个有http badCertificateCallback的Webflight库。我尝试过,但它给了我一个错误,并提交了一个问题,但我还没有收到他们的消息

DIO代码:

Dio dio = new Dio(options);
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(client) {
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
};

Error: Expected a value of type 'DefaultHttpClientAdapter', but got one of type 'BrowserHttpClientAdapter'
我也尝试过,但它没有坏的证书回调,我们可以使用它,但它不兼容web

HttpClient httpClient = new HttpClient();
    httpClient.badCertificateCallback =
        ((X509Certificate cert, String host, int port) => true);
    IOClient ioClient = new IOClient(httpClient);
response = await ioClient.post(url, body: data, headers: headers);
任何评论都将是非常宝贵的

提前感谢,,
Daniel

你可以把你的这一部分变成这一部分我用DIO的
badCertificateCallback
这样:

//import 'package:get/get.dart' hide Response hide FormData; //<-- if you use get package
import 'package:dio/dio.dart';

void main(){
  HttpOverrides.global = new MyHttpOverrides();
  runApp(MyApp());
}

class MyHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(SecurityContext context){
    return super.createHttpClient(context)
      ..badCertificateCallback = ((X509Certificate cert, String host, int port) {
        final isValidHost = ["192.168.1.67"].contains(host); // <-- allow only hosts in array
        return isValidHost;
      });
  }
}

// more example: https://github.com/flutterchina/dio/tree/master/example
void getHttp() async {
  Dio dio = new Dio();
  Response response;
  response = await dio.get("https://192.168.1.67");
  print(response.data);
}

//导入“包:get/get.dart”隐藏响应隐藏表单数据//那将是一个可怕的安全漏洞。如果您想临时接受自签名证书,请将其添加到浏览器的受信任证书中。您好,@DanielHernandez我与您有相同的问题,您找到问题的解决方案了吗?您好,存在sema问题。已经有什么解决办法了吗?