2014-01-07 57 views
-2

我試圖發送帶有身份驗證security.tt的HTTP請求,它將以JSON格式給出響應。我正在尋找任何教程或示例代碼來發送http請求以獲取response.I已經搜索,但沒有得到任何有用的教程。請幫助我,預先感謝。如何在iPhone編程中發送帶有身份驗證挑戰的HTTP客戶端請求

+0

你需要的教程在iOS還是什麼解析JSON? –

+0

我編輯了我的問題。 – user3007459

+0

http://allseeing-i.com/ASIHTTPRequest/How-to-use – preetam

回答

0

比方說您想從業務數據,你有URL,從而使下面的方法將考慮內URL的服務器獲取數據

- (的NSString *)getDataFromService:(的NSString *) strUrl {

NSURL *url = [NSURL URLWithString:strUrl]; 
NSString *response; 


ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 



[request setDelegate:self]; 
[request addBasicAuthenticationHeaderWithUsername:USERNAME 
             andPassword:PASSWORD]; 
[request startSynchronous]; 
NSError *error = [request error]; 

if (!error) { 
    response = [request responseString]; 

} 
else 
{ 

    response=nil; 
} 

return response; 

}

因此在響應字符串必須從給定的URL服務器的響應數據。

爲此,你需要donwload從GitHub庫命名爲ASIHTTPRequest這裏是鏈接

http://allseeing-i.com/ASIHTTPRequest/How-to-use

0

你可以實現「NSURLConnectionDataDelegate」。在您的.h文件做類似

@interface youClass : NSObject<NSURLConnectionDataDelegate> 

在您的.h文件中執行 「NSURLConnectionDataDelegate」

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace { 
     // NSLog(@"canAuthenticateAgainstProtectionSpace:"); 
     return [protectionSpace.authenticationMethod   isEqualToString:NSURLAuthenticationMethodServerTrust]; 
} 
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { 
    // NSLog(@"didReceiveAuthenticationChallenge:"); 
    [challenge.sender useCredential:[NSURLCredential  credentialForTrust:challenge.protectionSpace.serverTrust]  forAuthenticationChallenge:challenge]; 
} 
- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
    // NSLog(@"connectionDidFinishLoading"); 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ 
    // NSLog(@"Recived data!!!"); 
} 

希望這有助於的委託方法。 :)

相關問題