网络请求数据(同步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);
}

转载于:https://www.cnblogs.com/yibadao/p/5022775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值