pragma mark – POST同步请求
(void)actionLeftButton:(UIBarButtonItem *)button
{
// 创建网址对象
NSURL *url = [NSURL URLWithString:@”http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx“];// 利用网址对象创建一个请求
// CachePolicy缓存策略 一般选默认
// timeoutInterval 请求超时时间
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:(NSURLRequestUseProtocolCachePolicy) timeoutInterval:30.0];// 设置请求类型
[request setHTTPMethod:@”POST”];// 注意:给这个请求携带一个请求体
NSData *pramData = [kNewsListParam dataUsingEncoding:NSUTF8StringEncoding]; // 构建一个请求体NSData类型[request setHTTPBody:pramData];
// 利用这个请求创建一个连接,并得到返回的数据
NSURLResponse *response = nil;
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
// 解析数据
NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
NSLog(@”%@”, dataDic);
}
// POST异步请求
- (void)actionRightButton:(UIBarButtonItem *)button
{
// 利用网址创建网址对象
NSURL *url = [NSURL URLWithString:kNewsListURL];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:(NSURLRequestUseProtocolCachePolicy) timeoutInterval:30];
// 设置请求的类型
[request setHTTPMethod:@"POST"];
// 给这个请求携带请求体
NSData *pramData = [kNewsListParam dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:pramData];
self.connection = [NSURLConnection connectionWithRequest:request delegate:self];
}
pragma mark – 利用请求创建连接,利用代理方法实现异步请求 —
(void)connection:(NSURLConnection )connection didReceiveResponse:(NSURLResponse )response
{
// 初始化data
NSLog(@”返回服务器信息,证明链接成功了”);
}(void)connection:(NSURLConnection )connection didReceiveData:(NSData )data
{
// 拼接data,可以多次执行
NSLog(@”每点一次便执行一次”);
}(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// 解析数据
NSLog(@”加载完成时触发”);
}
// NSURLConnectionDelegate方法
- (void)connection:(NSURLConnection )connection didFailWithError:(NSError )error
{
NSLog(@”请求失败时触发”);
}
// 注意:
判断用get还是post是根据需求来定的。