ASIHTTPRequest - HTTPS

2019-01-21 15:35发布

问题:

Does ASIHTTPRequest support HTTPS connections? My connection right now works for a HTTP connection and errors if I try a HTTPS Connection. (Goes into requestFailed and gives me a ASIHTTPErrorRequestDomain)

-(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;
}

Thanks,
Teja

回答1:

Whoops, sorry, figured it out -

[request setValidatesSecureCertificate:NO] works for reference.

Thanks to these guys - http://www.iphonedevsdk.com/forum/iphone-sdk-development/29417-asihttprequest-library-works-https.html

EDIT: Since this is getting some upvotes, I'd just like to add that this might not be the best approach for valid SSL certificates. The one I was using was a self-signed certificate, so this was fine.