【问题标题】:ASIHTTPRequest - HTTPSASIHTTPRequest - HTTPS
【发布时间】:2010-04-28 14:51:34
【问题描述】:

ASIHTTPRequest 是否支持 HTTPS 连接?如果我尝试 HTTPS 连接,我的连接现在适用于 HTTP 连接和错误。 (进入 requestFailed 并给我一个 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;
}

谢谢,
光辉

【问题讨论】:

    标签: iphone asihttprequest


    【解决方案1】:

    哎呀,对不起,想通了-

    [request setValidatesSecureCertificate:NO] 供参考。

    感谢这些人 - http://www.iphonedevsdk.com/forum/iphone-sdk-development/29417-asihttprequest-library-works-https.html

    编辑:由于这得到了一些支持,我想补充一点,这可能不是有效 SSL 证书的最佳方法。我使用的是自签名证书,所以这很好。

    【讨论】:

    • 我认为您的意思是“我不在乎数据是否被攻击者通过中间人攻击拦截和解密/更改,所以自签名证书很好” . :-)
    • 哈哈真的,其实比不花10块钱拿到证书要复杂一点。我们确实从 GoDaddy 购买了证书,但我们的 QA 服务器上的证书存在主机名不匹配,这会导致某些浏览器出现警告,并且在使用 ASIHTTPRequest 时会被直接拒绝。没有人关心修复它,我们在这里:)
    • 是的,这不是一个解决方案,而只是一种解决方法。这违背了服务器使用 https(ecure) 的目的。
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 2011-12-19
    • 2012-01-31
    • 2011-09-08
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多