iOS学习总结之网络编程

今天刚刚自学完网络请求,现将两种请求方式总结如下

所有网络请求 统一使用异步请求

  GET请求

     1URL

     2NSURLRequest

     3NSURLConnction 异步

自己搭建的本地服务器 ,没有安装服务器的可以安装一下,方便练习

#pragma mark-GET登录
- (void)getLogin{
//    1、URL
    NSString *urlStr = [NSString stringWithFormat:@"http://localhost/login.php?username=%@&password=%@", self.userName.text, self.userPsw.text];
    
    NSURL *url = [NSURL URLWithString:urlStr];
    
    //2、request
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        
        if (connectionError == nil) {
//            将Data转成字符串
            NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            
//            更新界面
            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                NSLog(@"登录完成");
            }];
        }
    }];

  POST请求

     1URL

     2NSMutableURLRequest

     .httpMethod = @"POST";

     .HTTPBody = [str dataUsingEncoding:NSUTF8StringEncoding];

     3NSURLConnction 异步

#pragma mark -POST登录
- (void)postLogin{
    NSURL *url = [NSURL URLWithString:@"http://localhost/login.php"];
    
    //请求(可变请求)
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    
    //默认是get请求
    request.HTTPMethod = @"POST";
    
    //数据体
    NSString *str = [NSString stringWithFormat:@"username=%@&password=%@", self.userName.text, self.userPsw.text];
    
    //将字符串转换成数据
    request.HTTPBody = [str dataUsingEncoding:NSUTF8StringEncoding];
    
    //连接 异步
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        if (connectionError == nil) {
            
            //将Data转成字符串
            NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            
            //更新界面
            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                NSLog(@"%@",str);
            }];
        }
    }];
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值