首页
学习
活动
专区
工具
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"。不想用一种样式来设置值,而用另一种样式来获取值。

10110
  • 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语言简介 –中文,十分钟可读完,推荐

    3.9K60

    六个方向关于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.5K70

    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响应程序,即可查看到OCSPURL。图片5....运行->cmd,ping出该URL即可获取到该OCSP服务器IP地址。图片以上是国内节点ping出锐安信SSL证书OCSP服务器IP地址以及访问速度。...其他证书均可参照上述步骤查询OCSP服务器IP地址。

    5.4K40

    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? 侵删

    10310

    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、CocoaCocoa Touch 主要编程语言。

    35340

    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、CocoaCocoa Touch 主要编程语言。

    43310

    开心档之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

    90120

    新手必看,史上最全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.

    5.9K21

    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对象方法调度表,实现了什么协议等等。

    99120

    关于Swift

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

    1.1K20

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

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

    97140
    领券