您的位置:首页 > 理论基础 > 计算机网络

iOS学习总结之网络编程

2015-08-30 20:53 435 查看
今天刚刚自学完网络请求,现将两种请求方式总结如下

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

GET请求

1、URL

2、NSURLRequest

3、NSURLConnction
异步

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

#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请求

1、URL

2、NSMutableURLRequest

.httpMethod = @"POST";

.HTTPBody = [str dataUsingEncoding:NSUTF8StringEncoding];

3、NSURLConnction
异步

#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);
}];
}
}];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: