说一说适配HTTPS的纠结与验证

第一:普通请求

最近项目在修改请求为HTTPS,开始真是纠结无比,查询了很多东西,但是依然觉得不踏实,感觉那里不对劲一样。



这里的设置是这样的,其他的一般不需要,如果用的AFN请求self.securityPolicy = [AFSecurityPolicy defaultPolicy]

// 客户端是否信任非法证self.securityPolicy.allowInvalidCertificates = YES;

// 是否在证书域字段中验证域名[self.securityPolicy setValidatesDomainName:NO];

然后,如果没啥问题。https的请求就可以正常进行了。。


第二:WebView加载HTTPS的网页

如果项目中web view的加载。然后也是https的。你可能会发现有NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) error:The certificate for this server is invalid. You might be connecting to a server that is pretending to be “XXX.XX.X.XX” which could put your confidential information at risk

这里信息是说明你的webview加载需要你支持https验证;这个问题不多追求,我最终的简便的解决方式如下:

创建个NSURLRequst 类别

@interface NSURLRequest (NSURLRequestSSLY)

+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;

@end

#import "NSURLRequest+NSURLRequestSSLY.h"

@implementation NSURLRequest (NSURLRequestSSLY)

+(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host

{

return YES;

}

@end

然后在有加载webView的页面执行:[NSURLRequest allowsAnyHTTPSCertificateForHost:your.host];

好了终于可以加载出来了。搞定!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,238评论 2 7
  • 前言 关于UIWebView的介绍,相信看过上文的小伙伴们,已经大概清楚了吧,如果有问题,欢迎提问。 本文是本系列...
    CoderLF阅读 12,991评论 2 12
  • 一、http和https的区别 引用度娘的一段话 HTTPS和HTTP的区别 超文本传输协议HTTP协议被用于在W...
    Zoneday阅读 4,153评论 0 2
  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,964评论 5 53
  • 我是琼瑰,不过一个孤儿。 有人说,红玫瑰代表爱情。那么,我究竟是谁? 我只记得我醒来之时,身旁大朵大朵盛放的玫瑰和...
    社会你然姐阅读 1,441评论 0 0

友情链接更多精彩内容