flutter 2.0 升级至 dio 3.0升级到4.0 遇到的问题

首先会出现这个错误,经过百度查询很多文章都是说的网络权限的问题,在排查不是权限的问题是经过一番折腾后终于解决了问题。

OS Error: No address associated with hostname, errno = 7

以下代码在dio3.0的时候不会出现问题,但是4.0的时候会报错

dio.interceptors.add(InterceptorsWrapper(
      onRequest:(RequestOptions options, RequestInterceptorHandler type){
        Map<String, dynamic> headers = options.headers;
        String tokenHead = SpUtil.getString("tokenHead");
        String toKen = SpUtil.getString("token");
        if(toKen!=null && options.path.indexOf('api/v1/login')==-1 && options.path.indexOf('loginByWeChat')==-1 && options.path.indexOf('aliyuncs.com')==-1 && options.path.indexOf('weixin.qq.com')==-1){
          headers[tokenHead] = toKen;
        }
        // 在请求被发送之前做一些事情
        print('请求头部:${options.headers}');
        return options;
      },
      onResponse:(Response response, ResponseInterceptorHandler type) {
        // 在返回响应数据之前做一些预处理
        return response;
      },
      onError: (DioError e, ErrorInterceptorHandler type) {
        // 当请求失败时做一些预处理
        return e;
      }
    ));

修改后的代码

dio.interceptors.add(InterceptorsWrapper(
      onRequest:(RequestOptions options, RequestInterceptorHandler handler){
        Map<String, dynamic> headers = options.headers;
        String tokenHead = SpUtil.getString("tokenHead");
        String toKen = SpUtil.getString("token");
        if(toKen!=null && options.path.indexOf('api/v1/login')==-1 && options.path.indexOf('loginByWeChat')==-1 && options.path.indexOf('aliyuncs.com')==-1 && options.path.indexOf('weixin.qq.com')==-1){
          headers[tokenHead] = toKen;
        }
        // 在请求被发送之前做一些事情
        handler.next(options);
      },
      onResponse:(Response response, ResponseInterceptorHandler handler) {
        // 在返回响应数据之前做一些预处理
        handler.next(response);
      },
      onError: (DioError e, ErrorInterceptorHandler handler) {
        // 当请求失败时做一些预处理
        handler.next(e);
      }
    ));
  }

希望以上代码可以给你帮助,也警醒自己在日常编程的过程中加强严谨性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容