iOS网络请求三步:
1、新建URL连接
2、新建请求(请求新建的URL连接)
3、建立连接。
然后就可以获取数据了。
一、同步GET请求方法
-(void)synchronizationGet { NSString *strURL = @"http://olasapi.sinaapp.com//index.php"; NSURL *url = [NSURL URLWithString:strURL]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSLog(@"请求完成"); NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; NSLog(@"%@",dic); }
二、异步get
-(void)asynchronousGet { NSString *strURL = @"http://olasapi.sinaapp.com//index.php"; NSURL *url = [NSURL URLWithString:strURL]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; if (connection) { _data = [NSMutableData new]; } } #pragma mark - NSURLConnection回调方法 -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [_data appendData:data]; } -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { } -(void)connectionDidFinishLoading:(NSURLConnection *)connection { NSLog(@"请求完成"); NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:_data options:NSJSONReadingAllowFragments error:nil]; NSLog(@"%@",dic); }
三、异步POST
-(void)asynchronousPost { NSString *strURL = @"http://olasapi.sinaapp.com//index.php"; NSURL *url = [NSURL URLWithString:strURL]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setHTTPMethod:@"POST"]; // [request setHTTPBody:@""] NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; if (connection) { _data = [NSMutableData new]; } }
代理方法同get异步中的代理方法