• ASIHTTPRequest 对GET POST 请求简包


    1.ASIHTTPRequest一个简短的引论

    github下载链接https://github.com/pokeb/asi-http-request


    2.ASIHTTPRequest 对GET和POST请求简单封装

    +(void)requestWithASIURL:(NSString *)urlString parmas:(NSMutableDictionary *)params httpMethod:(NSString *)method completeBlock:(RequestFinishBlock)block{
        //处理GET请求
        if ([[method uppercaseString] isEqualToString:@"GET"]) {
            NSArray *keys=[params allKeys];
            for (int i=0; i<keys.count; i++) {
                NSString *key=[keys objectAtIndex:i];
                NSString *values=[params valueForKey:key];
                urlString= [urlString stringByAppendingFormat:@"&%@=%@",key,values];
            }
            
        }
        NSURL *url=[NSURL URLWithString:urlString];
        ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];
        [request setRequestMethod:method];
        [request setTimeOutSeconds:10];
        //处理POST请求
        if ([[method uppercaseString] isEqualToString:@"POST"]) {
            NSArray *keys=[params allKeys];
            for (int i=0; i<keys.count; i++) {
                NSString *key=[keys objectAtIndex:i];
                NSString *value=[params objectForKey:key];
                if ([value isKindOfClass:[UIImage class]]) {
                    //  NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test4" ofType:@"gif"];
                    //  NSData*  data=[NSData dataWithContentsOfFile:filePath];
                    NSData *imageData=UIImageJPEGRepresentation(value, 1.0);
                    [request addData:imageData forKey:key];
                }
                [request setPostValue:value forKey:key];
                
            }
        }
    
        [request setCompletionBlock:^{
            NSData *data=[request responseData];
            NSJSONSerialization *json=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
            block(json);
        }];
        [request startAsynchronous];
        
    }
    

    3.调用格式

        NSString* urlString=@"http://192.168.1.101:8080/PengFu/jokController/getPhoneJok";
          NSMutableDictionary *params=[NSMutableDictionary dictionaryWithObject:@"1 " forKey:@"rows"];
        UIImage *image=[UIImage imageNamed:@"test3.gif"];
        [params setObject:image forKey:@"pic"];
        [params setObject:@"test gif image upload" forKey:@"status"];
        
        [DataService requestWithASIURL:urlString1 parmas:params httpMethod:@"POST" completeBlock:^(id result) {
            NSLog(@"%@",result);
        }];
    

    4.注意事项

    下载代码编译报错请先导入网络请求所需的5个库例如以下



    假设使用ARC自己主动内存管理。请在源代码编译后面加-fno-objc-arc,例如以下图


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    docker容器里面执行top报“TERM environment variable not set.”
    docker安装ubuntu以后无ifconfig命令解决办法
    免sudo使用docker
    centos6下安装docker
    Hadoop Aggregate Resource Allocation解释
    [] 与[[]]的区别
    awk如何传递外部变量?
    基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |
    作为一名程序员,在面试中如何展现你Python的coding能力?
    入门机器学习:代码+预训练模型,赶快练练吧!
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4867646.html
Copyright © 2020-2023  润新知