ios 网络请求 AFNetworking

1、首先导入 AFNetworking

2、在文件中引入头文件

3、写方法


+(nullable NSURLSessionDataTask*)POSTWithURL:(NSString *)urlString parameters:(id)parameters completeBlock:(completeBlock)completeBlock{

    //    [HUDManager showIndicator:@"加载中。。。"];

    NSURLSessionDataTask*task=nil;

    NSLog(@"参数:%@",parameters);


    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

    AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];

    manager.responseSerializer = responseSerializer;

    //创建你得请求url、设置请求头

    //    NSString  *URL = [NSString stringWithFormat:@"%@%@",RequestManagerUrl,urlString];

    NSString  *URL = urlString;

    NSMutableURLRequest * request = [[AFHTTPRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil];


    //    [request setValue:[DCSpeedy CKmd5:tag] forHTTPHeaderField:@"xingli"];


    [[manager dataTaskWithRequest:request uploadProgress:^(NSProgress * _Nonnull uploadProgress) {


    } downloadProgress:^(NSProgress * _Nonnull downloadProgress) {


    } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

        if (!error) {

            NSDictionary*Dic;

            //判断返回的类型

            if ([responseObject isKindOfClass:[NSDictionary class]]) {

                Dic=responseObject;

            }else if ([responseObject isKindOfClass:[NSData class]]){

                NSString*result=[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];

                //                Dic=[self  dictionaryWithJsonString:result];

                Dic = [self parseJsonStringToNSDictionary:result];

            }


            NSLog(@"dic=%@",Dic);

            //                [HUDManager hiddenWithSuccess:0.5 title:Dic[@"msg"]];

            if (completeBlock) {

                completeBlock (Dic,nil);

            }


        }else{//网络出错

            //            [HUDManager hiddenWithError:1.0 title:@"加载失败"];

            if (completeBlock) {

                NSLog(@"error==%@",error.userInfo);

                completeBlock(nil ,error);

            }

        }

    }]resume];


    return task;

}

4、需要json转换


+ (NSDictionary *)parseJsonStringToNSDictionary:(NSString *)jsonString

{

    jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\r\n" withString:@""];

    jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""];

    jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\t" withString:@""];

    jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""];


    NSError *error2=nil;

    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&error2];

    //if ([dict isValid]) {

    return dict;

    // }

    return nil;

}

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

相关阅读更多精彩内容

友情链接更多精彩内容