415 afn请求 ios_ios afn请求 - CSDN
精华内容
参与话题
  • AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]... //调出请求头  manager.requestSerializer = [AFJSONRequestSerializer serializer];  //将token封装入请求头  [manager.requestSeriali...

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];    

        //调出请求头

        manager.requestSerializer = [AFJSONRequestSerializer serializer];

        //将token封装入请求头

        [manager.requestSerializer setValue:TOKEN forHTTPHeaderField:@"Authentication"];

        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/html",@"application/json", nil];

    展开全文
  • AFN设置请求超时时间 第一种: //设置超时 [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"]; manager.requestSerializer.timeoutInterval = 30.f; [manager.requestSerializer ...

    AFN设置请求超时时间

    第一种:

    //设置超时
    [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
    manager.requestSerializer.timeoutInterval = 30.f;
    [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];

    第二种:

    NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
    config.timeoutIntervalForRequest = 15.0;
    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:config];

    既然有请求超时的设置,自然也有请求超时的错误,其错误码对应如下:-1001

    这时在错误中截取错误码并进行如下处理:

    [manager POST:url parameters:data progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    //        NSLog(@"url====%@\n返回数据%@",url,responseObject);
            if (result) {
                result(responseObject);
            }
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            NSLog(@"error ==%@",error);
            //请求超时
            if (error.code  == -1001) {
                //1、获取当前viewController
                UIViewController *viewController = [[CommFun singleton] getCurrentVC];
                //2、隐藏加载框
                [MBProgressHUD hideHUDForView:viewController.view animated:YES];
                //3、弹出提示:请求超时
                SHOWALERT(@"请求超时,请刷新后再试!", viewController);
            }
        }];

    苹果相应的错误码如下:

    enum {
        NSURLErrorUnknown = -1,
        NSURLErrorCancelled = -999,
        NSURLErrorBadURL = -1000,
        NSURLErrorTimedOut = -1001,
        NSURLErrorUnsupportedURL = -1002,
        NSURLErrorCannotFindHost = -1003,
        NSURLErrorCannotConnectToHost = -1004,
        NSURLErrorDataLengthExceedsMaximum = -1103,
        NSURLErrorNetworkConnectionLost = -1005,
        NSURLErrorDNSLookupFailed = -1006,
        NSURLErrorHTTPTooManyRedirects = -1007,
        NSURLErrorResourceUnavailable = -1008,
        NSURLErrorNotConnectedToInternet = -1009,
        NSURLErrorRedirectToNonExistentLocation = -1010,
        NSURLErrorBadServerResponse = -1011,
        NSURLErrorUserCancelledAuthentication = -1012,
        NSURLErrorUserAuthenticationRequired = -1013,
        NSURLErrorZeroByteResource = -1014,
        NSURLErrorCannotDecodeRawData = -1015,
        NSURLErrorCannotDecodeContentData = -1016,
        NSURLErrorCannotParseResponse = -1017,
        NSURLErrorInternationalRoamingOff = -1018,
        NSURLErrorCallIsActive = -1019,
        NSURLErrorDataNotAllowed = -1020,
        NSURLErrorRequestBodyStreamExhausted = -1021,
        NSURLErrorFileDoesNotExist = -1100,
        NSURLErrorFileIsDirectory = -1101,
        NSURLErrorNoPermissionsToReadFile = -1102,
        NSURLErrorSecureConnectionFailed = -1200,
        NSURLErrorServerCertificateHasBadDate = -1201,
        NSURLErrorServerCertificateUntrusted = -1202,
        NSURLErrorServerCertificateHasUnknownRoot = -1203,
        NSURLErrorServerCertificateNotYetValid = -1204,
        NSURLErrorClientCertificateRejected = -1205,
        NSURLErrorClientCertificateRequired = -1206,
        NSURLErrorCannotLoadFromNetwork = -2000,
        NSURLErrorCannotCreateFile = -3000,
        NSURLErrorCannotOpenFile = -3001,
        NSURLErrorCannotCloseFile = -3002,
        NSURLErrorCannotWriteToFile = -3003,
        NSURLErrorCannotRemoveFile = -3004,
        NSURLErrorCannotMoveFile = -3005,
        NSURLErrorDownloadDecodingFailedMidStream = -3006,
        NSURLErrorDownloadDecodingFailedToComplete = -3007
    }

     

    展开全文
  • 如题 之前用2.x的这一句[self.manager.operationQueue cancelAllOperations]; 一直都可以 但升级后就不可以了 那升级该怎么取消 求解答
  • [manager.requestSerializer setValue:@"multipart/form-data;" forHTTPHeaderField:@"Content-Type"]; // 比如@"text/html"就是后加的 ...manager.responseSerializer.acceptableContentTypes = [NSSet



    [manager.requestSerializer setValue:@"multipart/form-data;" forHTTPHeaderField:@"Content-Type"];



    // 比如@"text/html"就是后加的

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];






    展开全文
  • 使用AFN 进行多次循环网络请求

    前段时间的一个项目里,由于后台接口的设计,不能同时上传多个相同的模型,导致只能分别post数据。
    由于iOS里面上传数据的时候是开辟一个线程的,所以当多个上传的时候,就不知道什么时候才能当所有数据上传成功后,执行后面的代码。

    这可愁死我了,我之前想的的方法就是写一个通知,当上传数据成功后,就调用通知里的方法,判断是否完成。多个的话就判断数量是否相等,继而执行后面的操作。

    后来看到论坛里面也有人遇到这类问题,就看他们的解决思路,最后找到了在我看来算是不错的解决方法。
    废话不多说,上代码。

        // 创建队列组,可以使多个网络请求异步执行,执行完之后再进行操作
         dispatch_group_t group = dispatch_group_create();
          //创建全局队列
          dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
    
        dispatch_group_async(group, queue, ^{
                // 循环上传数据
                for (int i = 0; i < self.goodsArray.count; i++) {
                    //创建dispatch_semaphore_t对象
                    dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    
                    [manager POST:urlStr parameters:dict progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    
                        // responseObject 返回的数据
    
                        // 请求成功发送信号量(+1)
                        dispatch_semaphore_signal(semaphore);
    
                    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
                        NSLog(@"%@",error);
                        // 失败也请求成功发送信号量(+1)
                        dispatch_semaphore_signal(semaphore);
                    }];
                    //信号量减1,如果>0,则向下执行,否则等待
                    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
                }
            });
    
         // 当所有队列执行完成之后
            dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
              // 执行下面的判断代码
                if (state == self.goodsArray.count) {
                   // 返回主线程进行界面上的修改
                    dispatch_async(dispatch_get_main_queue(), ^{
                       …….
                    });
                }else{
                    dispatch_async(dispatch_get_main_queue(), ^{
                        …..
                    });
                }
            });
    

    这样,就可以完成了当所有请求完成后,在进行后面的操作。

    展开全文
  • AFNetworking 发送 raw 格式的 post 请求

    千次阅读 2018-07-21 17:45:39
    NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithDictionary:rawParams]; NSData *data = [NSJSONSerialization dataWithJSONObject:params options:NSJSONWritingPrettyPrinted err...
  • AFN设置HTTP请求

    千次阅读 2018-06-26 11:02:35
    1、比如在使用Post请求,参数使用raw方式的时候,我们可以设置请求头解决问题。AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];manager.securityPolicy = [AFSecurityPolicy ...
  • 我要做一个网络获取URL 实现启动图片的效果 需要同步请求 afnetworking的 求指点
  • iOS开发使用AFN请求服务器数据,报错误码-1016的解决办法
  • 服务器那边不知道怎么调,自己对于服务器不懂,给我的要求是在请求(POST)时,content-Type要求是html,然后参数(AFN中就是parameters)要求是json格式.... AFHTTPRequestOperationManager *manager = ...
  • 我使用AFN发送一个post请求,报了以下的错误,但是安卓和postman能请求的到数据,跪求各位大神帮我看一下问题出在哪里 Error Domain=...
  • IOS项目之AFNetworking中文乱码问题

    千次阅读 2015-08-21 15:38:59
    IOS项目开发过程中,使用AFNetworking做网络请求模块, 后台服务器出现中文乱码情况,而且乱码情况十分怪异: 同样的中文数据,第一次请求就是乱码,以后的请求就正常…… 如果再次将请求的中文数据修改后,...
  • 经常在使用AFN的时候会出现content-type错误,缺少请求类型,比如”unacceptable content-type: text/plain” 解决方法: 1.在网络请求代码处修改AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager]; mgr....
  • AFN错误码中获取错误code和信息

    千次阅读 2018-10-25 11:31:51
    使用AFNetWorking请求数据时,有时并不能直接拿到错误code和信息,如需获取可以使用以下方式: // 通过error信息进行获取 NSDictionary *response = [NSJSONSerialization JSONObjectWithData:error.userInfo...
  • AFNetworking 3.0结构图AFN发送GET/POST请求的封装点击下面连接,查看GET/POST请求封装AFNetworking 网络工具-网络请求的三次封装 OC版AFNetworking 网络工具-网络请求的三次封装 Swift版AFN实现上传下载AFNetworking...
  • 表单上传呢一般是当要上传图片的时候用的网络请求方式。上传http post请求的表单格式是这样的Content-type: multipart/form-data, boundary=qwerdf --qwerdf content-disposition: form-data; name="field1" ...
  • IOS使用AFN框架发送POST/GET请求

    千次阅读 2018-09-12 15:43:16
    1. 利用第三方框架获取服务器数据(AFNetworking框架); * 2.使用POST/GET方式进行提交* ...一:首先看代码POST请求 //请求的参数 NSDictionary *parameters = @{@"username":username, ...
  • iOSAFN框架的使用(文件下载和上传)

    千次阅读 2019-06-15 09:51:25
    AFN 我们在日常开发中,经常使用到网络请求,之前已经简单的说过,网络的概念和请求数据和下载文件 但是在日常开发中,我们一般会使用到 AFNetworking这个框架,请求数据,上传数据,下载数据文件 简单的get...
  • (iOS-框架封装)AFN3.x 网络请求封装

    千次阅读 2017-03-16 16:11:29
    我项目里面的网络请求是一外包大牛基于AFN2.x封装的基本网络请求,感觉其封装的贼好,对服务端返回的错误码统一处理,对返回的 json 数据下发给每个继承自基本网络请求的 子网络请求 自己处理自己的数据,但是缺点...
  • 报错信息 Assertion failure in -[AFHTTPRequestSerializer ...## 截图问题原因, 是因为肯能在Get请求中拼接的URL中 含有中文导致报错解决只要把url处理一下NSString *url = [NSString stringWithFormat:@"%@%@
1 2 3 4 5 ... 20
收藏数 3,111
精华内容 1,244
关键字:

415 afn请求 ios