首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Objective-C/Cocoa:我如何接受错误的服务器证书?

在Objective-C/Cocoa中,如果您需要接受错误的服务器证书,可以通过以下方法实现:

  1. 创建一个自定义的URLProtocol来拦截网络请求。
  2. 在自定义的URLProtocol中,使用AFNetworking或其他网络库发送请求。
  3. 在发送请求时,禁用证书验证。

以下是一个简单的示例代码:

代码语言:objective-c
复制
#import<Foundation/Foundation.h>

@interface CustomURLProtocol : NSURLProtocol
@end

@implementation CustomURLProtocol

+ (BOOL)canInitWithRequest:(NSURLRequest *)request {
    // 检查请求是否需要拦截
    return YES;
}

+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request {
    return request;
}

- (void)startLoading {
    NSURLRequest *request = [self.request mutableCopy];
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
    securityPolicy.allowInvalidCertificates = YES;
    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:request.URL sessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    manager.securityPolicy = securityPolicy;
    NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        // 处理响应
    }];
    [dataTask resume];
}

- (void)stopLoading {
    // 停止加载
}

@end

请注意,禁用证书验证会降低安全性,因此请谨慎使用。在生产环境中,建议始终验证服务器证书。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Objective-C 中我接受的点符号

不管怎么样样,点符号还是可以的。 好了,这是我说的。 我曾一直是点符号的坚定反对者。我认为它掩盖了消息传递,并鼓励程序员通过链式点语法来违反 "得墨忒耳定律(Law of Demeter) "。...我甚至将点符号描述为 Objective-C 代码的一种气味。 因此,你可能会惊讶地发现,我最近在代码中采用了点符号!事情是这样的......在我观念转变之前 我有两个编码习惯让你们中的一些人觉得很奇怪: 对于一个属性,我更倾向于通过它的 ivar 进行访问。 当然,我也没有使用点符号。 有人说,"访问属性时一定要使用 self."。...与 KVO 相比,我更喜欢使用通知的主要原因是,我喜欢使用单独的方法来处理模型变化的不同方面。而在 KVO 中,所有的观察都会转到一个方法,然后该方法必须根据变化的类型来处理分派。...如果你要使用我的课程,我不想因为我碰巧用某种方式编码,就切断你与编程工具的联系。 属性链接了 self. 所以只能 "使用自己的setter"。我不想用一种样式来设置值,而用另一种样式来获取值。

10710
  • iOS开发入门笔记

    iOS开发入门笔记 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发iOS App,学习目标包括: 能使用Xcode...这篇文档不讲IB,只讲Objective-C,因为: 基本上,每一本讲iOS开发的书(纸质书、电子书),都有大量的截图一步一步教如何用IB开发iOS应用,而讲Objective-C开发应用的书却没有那么多...如何获得经纬度?...安装证书和私钥 证书 不想看下面各种点击各种页面跳转的直接用浏览器访问证书管理,你要登录你就用Apple ID登录(前提是交过钱,或者找交了钱的人把你加入团队了)。...教程 Apple官方教程 Cocoa Dev Center 维基上的Objective-C语言简介 –中文,十分钟可读完,推荐

    4K60

    六个方向关于iOS100个面试题,你都会了吗?

    这对注重性能的应用有何限制? 关于编程 Cocoa Touch包含什么?不包含什么? 为什么Cocoa Touch的类名称是以两个大写字母开头的? Swift和Objective-C分别是什么?...如果在Cocoa中发现一个Bug,你会如何处理? 如果应用的新版本出现了Regression的情况,该如何补救?如何防止用户在使用过程中遇到新的Bug? Objective-C的类是怎么执行的?...Objective-C Runtime是如何实现的? iOS是如何提高安全性,保护用户隐私信息的? 应用可以下载并即刻显示数据。如何根据MVC来判断下载的最佳位置?...iOS的开发和发布签名证书有何异同? 如何使用TestFlight?通过Ad-hoc发布应用的话,该如何使用UUID? 应何时验证购买收据? 发布iAds(苹果平台广告)有哪些要求?...你觉得Xcode有哪些需要改进的地方? iOS上你最喜欢哪些API? 是否有最中意的错误报告? 你最爱以哪种方式来检验一项新技术是否好用?

    3.6K50

    iOS程序员面试,绝对会遇到这些问题!

    这对注重性能的应用有何限制? 关于编程 Cocoa Touch包含什么?不包含什么? 为什么Cocoa Touch的类名称是以两个大写字母开头的? Swift和Objective-C分别是什么?...如果在Cocoa中发现一个Bug,你会如何处理? 如果应用的新版本出现了Regression的情况,该如何补救?如何防止用户在使用过程中遇到新的Bug? Objective-C的类是怎么执行的?...Objective-C Runtime是如何实现的? iOS是如何提高安全性,保护用户隐私信息的? 应用可以下载并即刻显示数据。如何根据MVC来判断下载的最佳位置?...iOS的开发和发布签名证书有何异同? 如何使用TestFlight?通过Ad-hoc发布应用的话,该如何使用UUID? 应何时验证购买收据? 发布iAds(苹果平台广告)有哪些要求?...你觉得Xcode有哪些需要改进的地方? iOS上你最喜欢哪些API? 是否有最中意的错误报告? 你最爱以哪种方式来检验一项新技术是否好用?

    1.4K20

    iOS学习——iOS 整体框架及类继承框架图

    Security框架提供管理证书,公钥和私钥信任策略,keychain,hash认证数字签名等等与安全相关的解决方案。   ...这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。   线程和子任务。 ...(PS1: 可以认为是操纵界面的一个API库) (PS2: UIKit框架是用在iOS平台上与之对应的是MAC OS X上的Application Kit,二者是姐妹框架,作用和目的没啥太大区别(我没有说实现目的的过程也一样...UIKit框架的各个类的简单介绍戳后面的链接:UIKit框架各个类的简要说明  三 Cocoa对象   此处内容全部来源于: IOS 整体框架类图值得收藏 3.1 Objective-C是面向对象的语言...(为了区分两个对象,我把前面提到的对象叫Objective-C对象),包括Objective-C对象的方法调度表,实现了什么协议等 等。

    3.6K70

    Objective-C 中的点符号一定是恶魔吗?

    消息的点符号不仅仅是 Objective-C 代码的味道。我告诉你,它是恶魔! 更新:我最近改变了主意!请参阅我的文章《我接受的点符号...》...但在接触 Objective-C 之前,我并不是一名 Java 开发人员。我是一名 C++ 开发人员。而且是用 C++(几乎是 C 的超集)。...foo.bar = 10; foo 可以是一个类、一个结构体或一个联合体,但无论如何,这都是成员访问。 但是,对象如何访问自己的成员呢?...一个典型的 Objective-C 新手错误就是说:"好吧,这个 self. 是多余的",然后把它改成这样: qux = 10; 编译和运行都没有任何问题。那么,有什么值得大惊小怪的呢?...但也请参阅我的后续文章《我接受的点符号...》 译自 Jon Reid 的 Is Dot Notation in Objective-C 100% Pure Evil? 侵删

    10910

    100个iOS开发面试题汇总

    这对注重性能的应用有何限制?  关于编程 37 Cocoa Touch包含什么?不包含什么? 38 为什么Cocoa Touch的类名称是以两个大写字母开头的?...46 如果在Cocoa中发现一个Bug,你会如何处理? 47 如果应用的新版本出现了Regression的情况,该如何补救?如何防止用户在使用过程中遇到新的Bug?...48 Objective-C的类是怎么执行的?Objective-C Runtime是如何实现的? 49 iOS是如何提高安全性,保护用户隐私信息的? 50 应用可以下载并即刻显示数据。...88 iOS的开发和发布签名证书有何异同? 89 如何使用TestFlight?通过Ad-hoc发布应用的话,该如何使用UUID? 90 应何时验证购买收据?...哪种类型的? 96 你觉得Xcode有哪些需要改进的地方? 97 iOS上你最喜欢哪些API? 98 是否有最中意的错误报告? 99 你最爱以哪种方式来检验一项新技术是否好用?

    1.3K30

    如何查询SSL证书的OCSP服务器IP地址

    不同CA签发的SSL证书的OCSP验签速度有所不同,这是因为他们的使用的不同OCSP服务器。需要了解OCSP验签服务器的访问速度,首先需要知道如何查询OCSP服务器IP地址。1....以racent.com为例,输入域名,打开网站,点击地址栏的安全锁标识。图片2. 在弹窗中点击连接是安全的。图片3. 在弹出的菜单中,点击证书有效菜单,进入证书信息详情的弹窗。图片4....查看“授权中心信息访问权限”即可获取OCSP的服务器。菜单路径:详细信息->证书字段->授权中心信息访问权限->OCSP响应程序,即可查看到OCSP的URL。图片5....运行->cmd,ping出该URL即可获取到该OCSP服务器IP地址。图片以上是国内节点ping出的锐安信SSL证书的OCSP服务器IP地址以及访问速度。...其他证书均可参照上述步骤查询OCSP服务器IP地址。

    5.4K40

    Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态

    学习这门语言让我重新发现了自己对于编程的热爱。 当时我还在 Java 的世界里,想要利用业余时间写一个 Objective-C 的无人机程序。...虽然后来我放弃了这个想法,但我还是把代码发到了 GitHub 上。用 Objective-C 写东西让我觉得很愉悦,这也是我最有意思的一个业余项目。...Cox 博士有很多粉丝,他曾在欧洲开展讲座,在演讲中他演示了如何对软件进行编程。他和他的妻子 Etta 喜欢休闲旅行和潜水,经常一起去加勒比海,伯利兹有他们美好的回忆。...2017 年,Brad 曾接受过「Computer History Museum」的采访,感兴趣的同学可以点击以下链接观看:https://www.youtube.com/watch?...现在 Objective-C 与 Swift 是 OS X 和 iOS 操作系统、及与其相关的 API、Cocoa 和 Cocoa Touch 的主要编程语言。

    36340

    Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态

    学习这门语言让我重新发现了自己对于编程的热爱。 当时我还在 Java 的世界里,想要利用业余时间写一个 Objective-C 的无人机程序。...虽然后来我放弃了这个想法,但我还是把代码发到了 GitHub 上。用 Objective-C 写东西让我觉得很愉悦,这也是我最有意思的一个业余项目。...Cox 博士有很多粉丝,他曾在欧洲开展讲座,在演讲中他演示了如何对软件进行编程。他和他的妻子 Etta 喜欢休闲旅行和潜水,经常一起去加勒比海,伯利兹有他们美好的回忆。...2017 年,Brad 曾接受过「Computer History Museum」的采访,感兴趣的同学可以点击以下链接观看:https://www.youtube.com/watch?...现在 Objective-C 与 Swift 是 OS X 和 iOS 操作系统、及与其相关的 API、Cocoa 和 Cocoa Touch 的主要编程语言。

    44110

    开心档之Swift基本语法

    Swift 基本语法 在上一章节中我们已经讲到如何创建 Swift 语言的 "Hello, World!" 程序。现在我们来复习下。...如果创建的是 OS X playground 需要引入 Cocoa : import Cocoa /* 我的第一个 Swift 程序 */ var myString = "Hello, World!"...---- Swift 引入 我们可以使用 import 语句来引入任何的 Objective-C 框架(或 C 库)到 Swift 程序中。...Cocoa 本身由 Objective-C 语言写成,Objective-C 又是 C 语言的严格超集,所以在 Swift 应用中我们可以很简单的混入 C 语言代码,甚至是 C++ 代码。...---- 分号 与其它语言不同的是,Swift不要求在每行语句的结尾使用分号(;),但当你在同一行书写多条语句时,必须用分号隔开: import Cocoa /* 我的第一个 Swift 程序 */ var

    90620

    iOS中Cocoa框架·Runtime及isa指针知识·填坑

    Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。...Cocoa程序可以这么说,它是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。...这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。 线程和子任务。...2、Cocoa对象 2.1 Objective-C是面向对象的语言 Objective-C和Java C++一样,有封装,继承,多态,重用。...(为了区分两个对象,我把前面提到的对象叫Objective-C对象),包括Objective-C对象的方法调度表,实现了什么协议等等。

    1K20

    新手必看,史上最全的iOS开发教程集锦,没有之一!

    作为一名混迹iOS开发圈近3年的码农,在这条路上走过了许多弯路,好在网上有很多优秀的教程、视频以及各种iOS学习资源,让我可以成功的独立开发一款iOS app应用。...下面我就分享下这3年以来我觉得最好的20个iOS开发学习教程和资源,提供给大家参考,欢迎大家补充。 ?...不管OC和Swift未来究竟如何发展,学习一门新的语言的本质,是接受一种新的思考方式。以下会涵盖两种语言教程供大家选择。 ?...Learn Cocoa http://cocoadevcentral.com/d/learn_cocoa/ 本教程教你如何从零开始创建一个Cocoa的应用程序,无需任何编程和Xcode经验。 8. ...Nshipster https://nshipster.com/ NSHipster是专门分享关于Objective-C,Swift和Cocoa期刊,每周更新。 8.

    6K21

    关于Swift

    Swift是一种新的建立在C和Objective-C的基础之上用来开发iOS和OS X应用,完全兼容C。 Swift采用了安全的编程模式并增添了现代的功能使编程更容易、更灵活、更有趣。...Swift依 赖深受喜爱的Cocoa和Cocoa Touch框架,对重新想象软件是如何工作来说是一次机会。 Swift被创造已经有好多年了。苹果在此基础上增强了我们现有的编译器,调试器,和框架结 构。...我们简化了使用自动引用计数(ARC)的内存管理技术。我们的框架堆栈,建立在坚实的 Foundation和Cocoa框架基础之上,已经是现代化和标准化的。...Objective-C开发者将会对Swift感到熟悉。它采用了Objective-C命名参数的可读性和 强有力的动态对象模型。...它提供了无缝访问现有Cocoa框架并且可以和Objective-C代码共 存。构建在这个基础上,Swift引入了许多面向过程和面向对象编程语言的新特性。 Swift对新的程序员是友好的。

    1.1K20

    译文: 低调奢华有内涵的「Runtime」

    当然,我是翻译了这篇文章,但是对Runtime的理解,还是很基础——主要是还没有太多实践,真实开发中几乎也用不到,一如文章所说:「如果可以,避免使用Objective-C的Runtime……」。...还有,不要忘记,很多激动人心的代码库都是用Objective-C写的,Cocoa本身就是用Objective-C写的,还有很多第三方库,和November Five(译者:一家公司)的内部库。...因为Runtime允许你访问很多Cocoa或者第三方库的底层特性。 Objective-C的Runtime究竟是什么?...下面引用一些Objective-C Runtime的定义——因为我相信自己是讲不清楚的: 「Objective-C可以从『编译时』、『链接时』再到『运行时』,hold住尽可能多的决策。...,这样就可以揭开别人的神秘的面纱,看到某人的代码是如何工作的,所以Runtime是一个很有价值的学习工具。

    97940

    《Motion Design for iOS》(十四)

    Swift被设计为和已经存在的Cocoa和Cocoa Touch框架协作(苹果公司提供给开发者来创建应用的API库)而且可以和Objective-C在同一个app中共存,但不能在同一个源代码文件中。...我对于Objective-C和Swift的立场是:Swift太新了,而且在走向黄金时代生产app开发前依然有问题需要解决。...我依然使用Objective-C编写我的app,但随着时间流逝,我会至少在新的工程中部分使用Swift。我对Swift中的一些Objective-C没有的高级语言特性非常期待。...如果Objective-C对你来说是全新的,我推荐你阅读我对Objective-C的介绍以及Big Nerd Ranch的Objective-C Programming book。...在苹果开发者中心也有一个非常好的Swift引导。 现在你队iOS开发工具和语言都有了一些接触,让我们开始一些关于iOS app界面是如何创建的以及让它们显示在屏幕上的过程的细节。

    86610
    领券