标签:
- (void)getLogin {
NSString *urlString = [NSString stringWithFormat:@"http://localhost/login.php?username=%@&password=%@", self.username, self.pwd];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataDontLoad timeoutInterval:10.0];
// 默认就是 GET 方法,无需专门指定
NSLog(@"%@", request.HTTPMethod);
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
id result = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
NSLog(@"%@ - %@", response, result);
}];
}
login.php
,提示:在不同的公司使用的后台接口是不一样的 jsp
,aspx
...?
衔接参数名=值
&
连接Cache.db
中
cfurl_cache_receiver_data
,缓存所有的请求数据cfurl_cache_response
,缓存所有的响应以上操作仅供演示,相关内容内容会在后续
SQLite
讲解
- (void)postLogin {
NSURL *url = [NSURL URLWithString:@"http://localhost/login.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"pOsT";
NSString *bodyStr = [NSString stringWithFormat:@"username=%@&password=%@", self.username, self.pwd];
request.HTTPBody = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
id result = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
NSLog(@"%@ - %@", response, result);
}];
}
GET - 真正的变化都在 URL 中
?
参数名=值
&
连接URL
字符串中有中文/空格等特殊字符,需要添加百分号转义
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
POST
URL
中不包含任何参数,直接指定脚本路径即可GET - 是网络访问使用频率最高的方法,从服务器获取数据, URLRequest
的默认方法就是 GET
POST
POST
Firebug
中粘贴GET
方法的参数定义非常类似,没有 ?
请求
发送给服务器GET
还是 POST
方法,Connection
没有变化标签:
原文地址:http://www.cnblogs.com/jiangshengkai/p/4896549.html