Error Domain=NSURLErrorDomain Co

作者: _yun | 来源:发表于2016-08-22 15:22 被阅读5462次

    Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo=0x168d9430 {NSErrorFailingURLStringKey=http://www.cndoa.com/server/service/get_shop_nearby.php, NSErrorFailingURLKey=http://www.cndoa.com/server/service/get_shop_nearby.php, NSLocalizedDescription=A server with the specified hostname could not be found., NSUnderlyingError=0x16840e10 "A server with the specified hostname could not be found.}

        当iPhone将wifi的DNS设置为114.114.114.114时, 每过1~2小时,在请求服务器时就会出现以上错误, 由于这个错误, 苹果连续拒绝了我们的App两次,这个问题是DNS的域名解析错误, 安卓访问都没问题, 但是iPhone总会报这个错误,我用的AFNetworking3.1(这个问题和什么网络请求是没关系的), 和服务端也没什么关系, 以我目前的了解,和前端的关系也不大, 只是前段可以做一些补救措施.目前, 我做了以下的处理,App本周已成功上线了. 当你遇到-1003错误时,改用ip再访问一下服务器

    AFHTTPSessionManager *session = [AFHTTPSessionManager manager];

    session.requestSerializer = [AFJSONRequestSerializer serializer];

    session.responseSerializer = [AFHTTPResponseSerializer serializer];

    // 域名请求

    NSString *urlStr = @"https://github.com/user/12345678";

    [session GET:urlStr parameters:nil progress:^(NSProgress * _Nonnull uploadProgress) {

    // nil

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

    // 域名请求成功, 处理数据

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    // 域名请求失败

    if (error.code == -1003) {

    // 找不到指定域名的主机, 通常为域名解析错误, 改为ip访问

    NSString *ipUrl = @"https://192.23.59.136/user/12345678";

    AFHTTPSessionManager *ipSession = [AFHTTPSessionManager manager];

    ipSession.requestSerializer = [AFJSONRequestSerializer serializer];

    ipSession.responseSerializer = [AFHTTPResponseSerializer serializer];

    [ipSession GET:ipUrl parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

    //nil

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

    // ip请求成功, 处理数据

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    // ip请求失败

    }];

    }

    }];

    可以用这个方法暂时解决-1003问题, 以后如果有更加完善的解决方案, 希望能和大家多讨论,分享.

    相关文章

      网友评论

      • _yun:新写了一个markdown版本的, 看起来会舒服些
      • wokenshin:怎么会这么坑。。。我现在也遇到了
      • Vampire_Jam:正好遇到这个问题.

      本文标题:Error Domain=NSURLErrorDomain Co

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