异步发送HTTP请求的代码
原:http://www.cocoachina.com/newbie/tutorial/2010/0318/727.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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
)connectionDidFinishLoading:(
NSURLConnection
*)aConn;
|
同步发送HTTP请求的代码
1
2
3
4
5
6
7
8
9
10
11
|
// 初始化請求
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];
|