首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 5-连接到HTTPS服务器

iOS 5-连接到HTTPS服务器
EN

Stack Overflow用户
提问于 2011-12-17 08:08:24
回答 2查看 3.2K关注 0票数 0

我正在努力克服iOS 5中对NSURLConnection所做的更改。

基本上,方法发生了变化,因此,如果您需要连接到使用HTTPS的站点并发送凭据进行身份验证,则不能再这样做了,因为许多方法已被弃用。

有没有什么地方可以让我获得如何编写代码以使用iOS5兼容代码的工作示例?我已经检查了文档和头文件,但是没有一个单独的资源向我展示如何使用示例进行这种连接,该示例显示了代码在哪个文件中的位置(假设我只是从Xcode中的一个标准模板开始,比如单个视图模板或选项卡栏模板)。

我真的很感谢任何建议;因为我的应用程序将在iOS 5上运行,我希望使用新的过程,但缺乏文档和教程使我的任务比我想象的更难。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-17 08:42:00

您应该使用NSURLCredentialStorage单例。在使用NSURLConnection之前,您需要通过调用其中一个NSURLCredentialStorage方法将凭据添加到存储中,例如:

代码语言:javascript
运行
复制
- (void)setCredential:(NSURLCredential *)credential forProtectionSpace:(NSURLProtectionSpace *)protectionSpace
票数 1
EN

Stack Overflow用户

发布于 2011-12-20 00:59:12

我使用的是:

代码语言:javascript
运行
复制
- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:
       (NSURLAuthenticationChallenge *)challenge {

if ([challenge previousFailureCount] <= maxRetryCount ) {
    NSURLCredential *newCredential =
    [NSURLCredential
     credentialWithUser: userName
     password:password
     persistence:NSURLCredentialPersistenceForSession];

    [[challenge sender]
     useCredential:newCredential
     forAuthenticationChallenge:challenge];

   }
   else
   {
     NSLog(@"Failure count %d",[challenge previousFailureCount]);
   }
}

这对我来说很好。但是,看起来自签名证书也被接受了。我可能需要发布一个关于这个的单独问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8541626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档