我正在开发一个连接到REST API的iOS应用,最近我希望它使用SSL进行连接,因此我更改了网址并添加了一些其他方法,以便能够使用。 但是,通常它通常会一开始出错,然后再没有其他问题。 谁能在下面的代码中看到任何明显的错误?

这是显示的错误:NSURLConnection / CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

代码如下:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {

    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {

    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
            [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];

    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}

- (void)load:(NSData*)data completionHandler:(void(^)(NSURLResponse *response, NSData *data, NSError *error))handler

{
    NSString *s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSLog(@"Loading... %@", s);

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

    [request setHTTPMethod:@"POST"];

    [request setHTTPBody:data];

    NSOperationQueue *queue = [[NSOperationQueue alloc] init];

    [NSURLConnection sendAsynchronousRequest:request queue:queue

                           completionHandler:handler];

    [urlConnection start];
}

  ask by J.J. translate from so

本文未有回复,本站智能推荐:

3回复

如何使用NSURLConnection取消持久连接?

是否可以销毁使用NSURLConnection创建的持久连接? 我需要能够销毁持久连接并进行另一次SSL握手。 就像现在一样,调用[conn cancel]后面会留下一个持久连接,用于与该主机的下一个连接请求,我不想发生这种情况。
1回复

[iOS]如何使用NSURLConnection自定义SSL验证?

由于某些原因,我需要自定义iOS应用的SSL验证,以便与其尝试将URL与SSL证书的CN字段匹配,不如检查CN字段是否包含我指定的内容。 我现在正在使用标准的[NSURLConnection sendAsynchronousRequest] ,并且无法使用该方法自定义SSL验证行为。
1回复

在Swift中使用NSURLConnection和有效的SSL证书

我对IOS开发比较陌生。 因此,请忍受我并原谅任何点头! 我正在尝试使用NSURLConnection从SOAP Web服务获取数据,并且工作正常。 但是,只要将URL从http更改为https,就不会再获取任何数据,也不会收到错误或类似的预期。 https证书是godadd
1回复

与ssl同步子类化的NSURLConnection?

我将NSURLConnection子类化,以便使用ssl调用Web服务。 我考虑过要进行同步连接,而不仅仅是现在的异步连接。 我的代码: 我开始考虑实施: 为了使其与原始代理相同。 一种方法是使用NSNotificationCenter,但是我的目标是更简单的方法。
1回复

iOS中NSURLConnection的间歇性SSL错误

我正在使用自定义SSL(不再是有效的SSL证书)连接到服务器。 我已经更新了info.plist,以允许任意添加的代码绕过NSURLConnection委托的质询。 但是,间歇性地发生,我收到了SSL错误。 它没有调用委托willSendRequestForAuthenticatio
1回复

与共享SSL会话有关的NSURLSession和NSURLConnection用法

我有一些逻辑可以与具有两个版本的NSURLConnection和NSURLSession的后端服务器进行通信。 之所以创建后者,是因为不赞成使用NSURLConnection,并且我们还想利用后台下载功能。 编写这些类是为了支持客户端证书以验证客户端。 在我的应用程序中,从几种不同类型
1回复

使用证书创建SSL连接

我有以文件形式提供给我的ssl证书(.cer)。 我将其添加到捆绑包中,并希望使用它与服务器通信。 我使用了苹果提供的代码: 但是我正在得到kSecTrustResultRecoverableTrustFailure 。 在这种情况下也使用了苹果样品,但没有帮助。 也许有
1回复

如何在IOS中检查所有NSURLConnection的SSL证书

现在,我使用-connection:didReceiveAuthenticationChallenge:函数来检查SSL证书。 根据用户的需求,我需要检查所有请求。 但是在我的测试演示中,-connection:didReceiveAuthenticationChallenge:委托函数将在