• 网络请求数据(同步POST,异步POST)


    //同步POST
    -(void)synPost{
        //获取URL接口,不含参数
        NSString *str = @"http://www.haninfo.cc:2060/Login/LoginData.asmx/Login";
        //转码---拼接方法,为避免参数是汉字时,打印结果不显示汉字
        str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSURL *url = [NSURL URLWithString:str];
       
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:10];
       
        //post方式的参数封装
        NSString *dataStr = [NSString stringWithFormat:@"sLogin=%@&sVerifyCode=%@&sPadId=%@",@"yyj",@"",@""];
        //将参数列表转换成data
        NSData *data = [dataStr dataUsingEncoding:NSUTF8StringEncoding];
        //设置参数体
        [request setHTTPBody:data];
        //设置请求方式
        [request setHTTPMethod:@"POST"];
       
        //发送请求
        NSData *responData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        //解析
        id obj = [NSJSONSerialization JSONObjectWithData:responData options:NSJSONReadingAllowFragments error:nil];
        NSLog(@"%@",obj);
       
    }
    =====================================================
    //异步POST
     
    -(void)asynPOST{
        NSString *str = @"http://www.haninfo.cc:2060/Login/LoginData.asmx/Login";
       
        str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//把汉字转换成字符串
        NSURL *url = [NSURL URLWithString:str];
       
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:10];
       
        //post方式的参数封装
        NSString *dataStr = [NSString stringWithFormat:@"sLogin=%@&sVerifyCode=%@&sPadId=%@",@"yyj",@"",@""];
        //将参数列表转换成data
        NSData *data = [dataStr dataUsingEncoding:NSUTF8StringEncoding];
        //设置参数体
        [request setHTTPBody:data];
        //设置请求方式
        [request setHTTPMethod:@"POST"];
        
    //方法一:系统封装好的(不在需要代理方法)
        [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
            NSLog(@"%@",dic);
        }];
     
    //方法二:需要代理方法
        [NSURLConnection connectionWithRequest:request delegate:self];
    }

    -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
        _muData = [NSMutableData data];
    }

    -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
       
        [_muData appendData:data];
    }

    -(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    //解析
    }

    -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
        //连接服务器失败
        NSLog(@"错误信息:%@",error);
    }
  • 相关阅读:
    开源协议
    markdown 语法和工具
    mac 终端 使用ftp命令
    谷歌囧大了!安统镜卓5.0刷入遇到system.img系像找不到
    linux下vi命令大全
    python编码处理:unicode字节串转成中文 各种字符串举例说明
    优秀前端资源备忘录
    mousewheel滚轮事件
    bootstrap插件之Carousel
    初识Node.js
  • 原文地址:https://www.cnblogs.com/yibadao/p/5022775.html
Copyright © 2020-2023  润新知