强制flutter在应用程序中使用http而不是https

3pvhb19x  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(164)

我的网站没有SSL证书,所以我得到了隐私问题,每次我打开网站,我试图在我的flutter应用程序中使用它,但应用程序一直使用https,使它无法工作的问题在下面的行,`

static Uri configUrl(String url){
  var uri = Uri.http(apiConfig.api_url.replaceAll("/api/", "").replaceAll("https://", "").replaceAll("http://", ""), '/api/'+url+apiConfig.api_token+"/"+apiConfig.item_purchase_code +"/", {"s":"https"});

  return uri;
}

我如何更改它以强制应用程序使用http而不是https 我尝试使用Uri.http而不是Uri.httpsreplaceAll("https://", "http://")`,但没有任何效果

s5a0g9ez

s5a0g9ez1#

您可以使用HTTP客户端与HTTP服务器进行通信。
下面是您需要在项目主.dart文件中全局执行该操作的实现。

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

第二步是清楚地演示这个类,确保在主文件中,在运行应用程序的主函数中进行演示。

class MyHttpOverrides extends HttpOverrides {
  @override
  HttpClient createHttpClient(SecurityContext? context) {
    return super.createHttpClient(context)
      ..badCertificateCallback =
          (X509Certificate cert, String host, int port) => true;
  }
}

相关问题