iOS网络get请求
//————————————————————————————————————————————————————————————————————————————
// 0.文件很小的时候可以不使用请求的方法(坏处1、在主线程中,访问服务器的时候会卡死 2、文件太大的时候,一次性传输,服务器受不了)
// NSURL * url = [NSURL URLWithString:@"http://192.168.2.162/logo.php?userName=jereh&pwd=123"];
// NSData * data = [NSData dataWithContentsOfURL:url];
// NSString * str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSLog(@"%@", str);
// get请求(代理方式)
//// NSURL * url = [NSURL URLWithString:@"http://192.168.2.162/logo.php?userName=jereh&pwd=123"];
// NSURL * url = [NSURL URLWithString:@"http://192.168.2.162/test2.rar"];//请求大的数据
//
// //通过URL建立请求对象
// NSURLRequest * request = [NSURLRequest requestWithURL:url];
//
// //创建NSURLConnection 对象用来连接服务器并且发送请求
// NSURLConnection * conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
// [conn start];//新版本可以不用写
//————————————————————————————————————————————————————————————————————————————
//请求主要使用的四个代理方法(异步的方法)
//接受到相应(只调用一次,请求成功,发送数据前调用)
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
resultData = [NSMutableData data];//数据接收的对象一般在这里初始化
}
//接受到数据(发送数据的时候调用,大文件会自动分块传输,这个方法调用多次)
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[resultData appendData:data];//服务器每一次发送多少数据
NSLog(@"%li", resultData.length);
}
//结束下载(数据传输完毕)
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingAllowFragments error:nil];
NSLog(@"%@", dic);
}
//请求失败(链接不上服务器,网址错误会调用。密码不对等不会调用)
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"%@", error);
}
@end