2010-04-28 73 views
9

ASIHTTPRequest是否支持HTTPS連接?如果我嘗試使用HTTPS連接,我的連接現在可用於HTTP連接和錯誤。 (進入requestFailed並給了我一個ASIHTTPErrorRequestDomain)ASIHTTPRequest - HTTPS

-(void) getData 
{ 

av.hidden = NO; 
[av startAnimating]; 

NSString *urlString = [IP stringByAppendingString:@"Method1"]; 
NSURL *url = [NSURL URLWithString:urlString]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
NSLog(@"URL = %@",url); 
[request setRequestMethod:@"POST"]; 
[request setPostValue:@"val1" forKey:@"key1"]; 
[request setPostValue:@"val2" forKey:@"key2"]; 
[request setDelegate:self]; 
[request startAsynchronous];  
} 

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    //NSString *responseString = [request responseString]; 

    // Use when fetching binary data 
    NSData *responseData = [request responseData]; 
    [self parseData:responseData]; 

    [av stopAnimating]; 
    av.hidden = YES; 
} 


- (void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
    [av stopAnimating];  
    av.hidden = YES; 
} 

感謝,
Teja公司

回答

17

哎呦,對不起,想通了 -

[request setValidatesSecureCertificate:NO]作品以供參考。

感謝這些傢伙 - http://www.iphonedevsdk.com/forum/iphone-sdk-development/29417-asihttprequest-library-works-https.html

編輯:由於這是獲得一些upvotes,我只是想補充一點,這可能不是有效的SSL證書的最佳方法。我使用的是自簽名證書,所以這很好。

+3

我認爲你的意思是「我不在乎數據是否被攻擊者通過中間人攻擊攔截/解密/更改,所以自簽名證書沒有問題」。 :-) – JosephH 2011-08-22 19:03:49

+0

哈哈真的夠了,它實際上比不花10美元和獲得證書要複雜一點。我們確實從GoDaddy購買了證書,但是我們的QA服務器上的證書存在主機名不匹配,導致在某些瀏覽器上發出警告,並在使用ASIHTTPRequest時發生明顯拒絕。沒有人照顧足夠修復它,在這裏,我們:) – 2011-08-22 19:11:13

+0

令人驚歎的哥們。您節省了時間.. – 2012-03-03 10:49:13