1. 程式人生 > >Cocoa傳送HTTP請求的程式碼

Cocoa傳送HTTP請求的程式碼

同步傳送HTTP請求的程式碼

// 初始化請求
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];

非同步傳送HTTP請求的程式碼

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;