异步:
NSMutableData* buf = [[NSMutableData alloc] initWithLength:0];NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:req delegate:self]; // 收到响应时, 会触发 - (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse; // 你可以在里面判断返回结果, 或者处理返回的http头中的信息 // 每收到一次数据, 会调用一次 - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data; // 因此一般来说,是 - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data { [buf appendData:data]; } // 当然buffer就是前面initWithRequest时同时声明的. // 网络错误时触发 - (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error; // 全部数据接收完毕时触发 - (void)connectionDidFinishLoadi ng:(NSURLConnection *)aConn;
第二段是同步请求
// 初始化请求 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; // 设置URL [request setURL:[NSURL URLWithString:urlStr]]; // 设置HTTP方法 [request setHTTPMethod:@"GET"]; // 发 送同步请求, 这里得returnData就是返回得数据了 NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; // 释放对象 [request release];