2013-10-04 38 views
-2

我想在iOS上優先使用NSURLConnection來調用服務器上的同步(但其他類似Ajax的)調用。或者在某些情況下至少同步。如何在訪問NSURLConnection之類的時候獲得HTTP狀態?

我對響應狀態碼感興趣。我如何訪問NSURLConnection響應的狀態碼?

歡迎任何示例代碼或教程鏈接; https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSURLResponse_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSURLResponse是我現在要做的最好的。

回答

2

可以使用NSURLConnection的deleate類的委託功能響應代碼或同時發送同步請求,你可以檢查狀態代碼像

id response2 = nil; 

NSError *error1 = nil; 
NSData *receivedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error1]; 

//and then check the above response status code like 

int code = [(NSHTTPURLResponse *)response2 statusCode]; 
    if (code == 404) 
    { 
     // website not found 
    //do your stuff according to your need 
    } 
2

對於同步要求,您可以通過此

(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    int code = [(NSHTTPURLResponse *)response statusCode]; 
    if (code == 404) 
    { 
     // website not found 
    //do your stuff according to your need 
    } 
} 

得到這樣

NSError *error = nil; 
NSHTTPURLResponse *responseCode = nil; 
NSURLRequest *request; 
NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error]; 
int code = [responseCode statusCode];