美文网首页
Flutter 网络请求charles抓不到包的问题

Flutter 网络请求charles抓不到包的问题

作者: 张_何 | 来源:发表于2020-05-22 16:26 被阅读0次

    问题

    • 经过多方验证,charles抓不到flutter发出的网络请求,不论是在真机上还是在模拟器上,都不可以。同样是真机或者模拟器,别的app的网络请求可以被charles抓到,唯独flutter的网络请求charles抓不到,抓捕抓狂,完全不知道哪里出了问题,郁不郁闷,关机重启,重装charles,重装app都解决不了问题,急不急人。这些我都经历过!!!!!!!
    • 最后查看dio文档才发现 flutter 发出的网络请求如果想被抓包,需要进行设置,方案如下:

    解决

    • 设置http代理:DefaultHttpClientAdapter 提供了一个onHttpClientCreate 回调来设置底层 HttpClient的代理,我们想使用代理,可以参考下面代码:
    import 'package:dio/dio.dart';
    import 'package:dio/adapter.dart';
    ...
    (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
        // config the http client
        client.findProxy = (uri) {
            //proxy all request to localhost:8888
            return "PROXY localhost:8888"; //这里将localhost设置为自己电脑的IP,其他不变,注意上线的时候一定记得把代理去掉
        };
        // you can also create a HttpClient to dio
        // return HttpClient();
    };
    

    相关文章

      网友评论

          本文标题:Flutter 网络请求charles抓不到包的问题

          本文链接:https://www.haomeiwen.com/subject/aqzqahtx.html