//新建一个URL
NSURL *url=[NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
//创建一个GET请求 cachePolicy:缓存 NSURLRequestReloadRevalidatingCacheData :忽略缓存数据 最常用的
//timeoutInterval:请求时间
NSURLRequest *request=[NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadRevalidatingCacheData
timeoutInterval:10.0f];
//设置回应和错误的指针变量
NSHTTPURLResponse *response=nil;
NSError *error=nil;
//发起同步连接 returningResponse:响应值的对象
NSData *data=[NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
NSLog(@"responseCode = %d",[response statusCode]);//输出 响应值 200是 请求成功
//打印回应和错误信息
NSLog(@"response = %@",[NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]]);
NSLog(@"error =%@",[error localizedDescription]);
//打印字符串信息
NSString *str=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];//把data转化为字符串
// NSString *str=[[NSString alloc]initWithData:data encoding:4];//4是UTF8的 枚举值 所以可行
NSLog(@"str= %@",str);
[str release];
*/
// /手动创建一个POST同步连接 只要改NSMutableURLRequest //将请求方式设置为POST [request setHTTPMethod:@"POST"];
/*
//新建一个URL
NSURL *url=[NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
//创建一个GET请求 cachePolicy:缓存 NSURLRequestReloadRevalidatingCacheData :忽略缓存数据 最常用的
//timeoutInterval:请求时间
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0f];
//将请求方式设置为POST
[request setHTTPMethod:@"POST"];
//设置回应和错误的指针变量
NSHTTPURLResponse *response=nil;
NSError *error=nil;
//发起同步连接 returningResponse:响应值的对象
NSData *data=[NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
NSLog(@"responseCode = %d",[response statusCode]);//输出 响应值 200是 请求成功
//打印回应和错误信息
NSLog(@"response = %@",[NSHTTPURLResponse localizedStringForStatusCode:[response statusCode]]);
NSLog(@"error =%@",[error localizedDescription]);
//打印字符串信息
NSString *str=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];//把data转化为字符串
// NSString *str=[[NSString alloc]initWithData:data encoding:4];//4是UTF8的 枚举值 所以可行
NSLog(@"str= %@",str);
[str release];
*/
//异步请求
//初始化
NSURL *url=[NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];//请求
[NSURLConnection connectionWithRequest:request delegate:self]; //NSURLConnectionDataDelegate 在头文件写代理
[self.window makeKeyAndVisible];
return YES;
}
//接受响应 此方法 只要在服务器接受到响应就执行下面的 接受数据方法
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// NSLog(@"%s",__FUNCTION__);
mutableData =[[NSMutableData alloc]initWithLength:0];//初始化
}
//接受数据
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"%s1",__FUNCTION__);
[mutableData appendData:data];//追加进去 调用三次 每次都追加
NSLog(@"data2===%d",data.length);
}
//结束
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"%s2",__FUNCTION__);
NSString *str=[[NSString alloc]initWithData:mutableData encoding:4];//转换成字符串
NSLog(@"str= %@",str);
[str release];
[mutableData release];
}
同步 异步请求
最新推荐文章于 2024-01-12 15:41:05 发布