iOS学习总结之网络编程

来源:互联网 发布:假授权书能过淘宝吗 编辑:程序博客网 时间:2024/04/29 14:10

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

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

  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
原创粉丝点击