AFN\HTTPS\UIWebView】的更多相关文章

1.AFN使用技巧 1.在开发的时候可以创建一个工具类,继承自我们的AFN中的请求管理者,再控制器中真正发请求的代码使用自己封装的工具类. 2.这样做的优点是以后如果修改了底层依赖的框架,那么我们修改这个工具类就可以了,而不用再一个一个的去修改. 3.该工具类一般提供一个单例方法,在该方法中会设置一个基本的请求路径. 4.该方法通常还会提供对GET或POST请求的封装. 5.在外面的时候通过该工具类来发送请求 6.单例方法: + (instancetype)shareNetworkTools {…
这一篇主要介绍使用AFN如何访问HTTPS网站以及这些做法的实现原理,还有介绍AFN的网络状态监测部分AFNetworkReachabilityManager,这个模块会和苹果官方推荐的Reachability框架做一个对比. 本文所有的代码都运行在iOS9.2的模拟器上,并且在info.plist对ATS做了适配:设置允许非法的加载Allow Arbitrary Loads为YES. 不要认为在info.plist添加NSAppTransportSecurity > NSAllowsArbit…
参考文章:http://www.cocoachina.com/ios/20180831/24753.html WK时苹果在iOS8.0之后推出的控件,相比于UIWebView: 内存消耗少: 解决了网页加载时的内存泄漏问题: 与HTML页面的交互更方便: 总之,其性能比UIWebView好很多. 使用时,首先要添加头文件: #import <WebKit/WebKit.h> 简单创建一个WKWebView: self.iWKWebView = [[WKWebView alloc]initWit…
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AFNetworking的网络安全策略,尤其指HTTPS(大家可以先简单了解下HTTPS).再一个就是分析下AFNetworkReachabilityManager文件,看看AFNetworking如何解决网络状态的检测. 2. AFSecurityPolicy - 网络安全策略 之前我们在AFURLS…
WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本篇文章的同志们,应该要感谢LL同志,更要向LL同志学习,积极打赏! WKWebView 看看WKWebView的头文件声明: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32…
// // JSViewController.m // Library // // Created by 朱逸 on 16/7/7. // Copyright © 2016年 朱逸. All rights reserved. // #import "JSViewController.h" #import <WebKit/WebKit.h> @interface JSViewController ()<WKScriptMessageHandler,WKUIDelegat…
尽管Https协议能够提供数据的加密.身份的认证等安全服务,但并不是没有漏洞.HTTPS协议安全隐患的存在可能使用户受到各种极具破坏力的网络攻击.其中中间人攻击(Man In The Middle, MITM)就是非常危险的一种攻击方式. 场景分析:假设用户手机接入了不安全的wifi,这时发生了dns被篡改的情况.如用户访问了Https://www.taobao.com, 被跳转到了类似淘宝的钓鱼站点,且该站点用的是真实ca证书,这时用户的账户安全将受到巨大威胁. 这里介绍一个ios中能大大降低…
今天在载入https网站的时候遇到例如以下的错误问题.所以对自己之前写的iOS内嵌webview做了一些改动,能够让它载入http网站也能够让它载入https网站. 以下是我载入https网站的时候出现的错误. error:     NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) HTTPS 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Prot…
AFN访问https的时候需要设定如下两个属性: manager.securityPolicy.allowInvalidCertificates = YES; manager.securityPolicy.validatesDomainName      = NO; 如下图所示:…
If a user attempts to load a https web page in Mobile Safari and the server's certificate validation check fails (its expired, revoked, self-signed etc.) then the user is presented is presented with a warning message and asked if they want to continu…
WWDC 2016苹果开发者大会上,苹果在讲解全新的iOS10中提到了数据安全这一方面,并且苹果宣布iOS应用将从2017年1月起启用名为App Transport Security的安全传输功能. 2017年所有iOS应用必须支持ATS安全标准,将强制使用HTTPS安全连接: 为什么强制使用ATS 安全标准? ATS 安全标准是苹果在发布 iOS 9 和 OS X EI Capitan 系统时发布的,这一标准通过强行推动一系列安全实际操作,从而积极促进安全性,同时还要求网络请求必须在一个安全的…
UIWebView跳过证书认证 在UIWebView中加入如下代码即可(Error Domain=NSURLErrorDomain Code=-1202) //跳过证书验证 @interface NSURLRequest (IgnoreSSL) +(BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host; @end @implementation NSURLRequest (IgnoreSSL) +(BOOL)allowsAnyHTTPSCer…
第一步: 导入afn库 第二步: 在pch中添加 #import <SystemConfiguration/SystemConfiguration.h> #import <MobileCoreServices/MobileCoreServices.h> #define AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES 第三步: AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaul…
在文件开始实现  allowsAnyHTTPSCertificateForHost 方法 @implementation NSURLRequest (NSURLRequestWithIgnoreSSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host { return YES; } @end…
@implementation NSURLRequest (NSURLRequestWithIgnoreSSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host{    return YES;} @end…
0.AFN框架基本使用 0.1 AFN内部结构 AFN结构体 - NSURLConnection + AFURLConnectionOperation(已经被废弃) + AFHTTPRequestOperation(已经被废弃) + AFHTTPRequestOperationManager(封装了常用的 HTTP 方法)(已经被废弃) * 属性 * baseURL :AFN建议开发者针对 AFHTTPRequestOperationManager 自定义个一个单例子类,设置 baseURL,…
原定于2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS,需要配置Https.但是现在不需要了,无固定期限的往后延期了,但是这个还是得弄明白下为好,说不定哪天突然就让弄了. 一. 2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS. 就是要求去掉 Info.plist 的 NSAllowsArbitraryLoads 1.这要求所有通过APP发送的网络请求都需要https 2.开启ATS,图片(例如图像的URL)等静态文件的url需要用…
1,AFN升级4.0 2,代码中搜索UIWebView移除相关文件 3,检查库是否使用的UIWebView 参考 https://www.jianshu.com/p/3a645500d461…
AFN框架是用来用来发送网络请求的,它的好处是可以自动给你解析JSON数据,还可以发送带参数的请求AFN框架还可以监测当前的网络状态,还支持HTTPS请求,分别对用的类为AFNetworkReachabilityManager,AFSecurityPolicy 虽然AFN可以发送请求,但是里面有许多坑,  1.你想要得到正确的JSON数据必须要:网络请求成功,服务器返回的必须是JSON 数据,自己(AFN)还能够解析,也就是说你发送的请求,返回的数据类型必须是JSON数据,而且必须以JSON结尾…
网络请求的思路:如果请求成功的话AFN的responseObject就是解析好的. 1发送网络请求:get/post/或者别的 带上URL,需要传的参数 2判断后台网络状态码有没有请求成功: 3 请求成功:解析数据,刷新页面 4请求失败做处理 VPKCResponse.h VPKCResponse.m VPKCRequestManager.h VPKCRequestManager.m 定义两个文件继承NSObject. VPKCResponse.h #import <Foundation/Fou…
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现.网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的HTTPS不仅仅是在接口HTTP上加个S那么简单: 它所有满足的是iOS9中新增App Transport Security(简称ATS)特性: 那满足ATS我们需要做什么呢 1.必须是苹果信任的CA证书机构颁发的证书 2.后台传输协议必须满足: TLS1.2 (这很重要, 后面的自制证书满足这个条…
流程梳理 今天开始会写几篇关于AFN源码解读的一些Blog,首先要梳理一下AFN的整体结构(主要是讨论2.x版本的Session访问模块): 我们先看看我们最常用的一段代码: AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:@"https://www.baidu.com" parameters:nil success:^(NSURLSessionDataTask * _Nonnul…
别再使用stringByAddingPercentEscapesUsingEncoding 当遇到发送网络请求的参数中有汉字的情况,很多人一股脑地使用stringByAddingPercentEscapesUsingEncoding:进行转义,这样带有汉字的urlString就会将每个汉字转成相应的unicode编码对应的3个%形式,这叫urlEncode(每个能写后端的语言都有的方法),但是苹果的stringByAddingPercentEscapesUsingEncoding:却不是urlE…
背景: 最近公司准备上一个只有原生登录界面 + H5网页 ,并且支持ios7.0 以上系统的混合app;这可把我难住了,原生的UI界面我可以正写反写各种style把界面搭建起来.而要这个app的难点在于交互,与前端h5 的交互. 经同事推荐,使用webViewJavascripeBridge 这个交互三方神器: 准备工作,把webViewJavascripeBridge 导入到xcode工程中,或用cocoapod管理 废话不多说,上代码 一. 首先是ios端的代码: - (void)viewD…
最近一直在做有关Swift和JavaScript交互的程序,所以有关UIWebView和WKWebView在使用上的差别在此总结下: UIWebView: (1)创建 var webView: UIWebView! self.webView = UIWebView.init(frame: CGRect.init(x: 0, y: 0, width: kScreenWidth, height: kScreenHeight)) self.view.addSubview(self.webView!)…
- (void)viewDidLoad {    [super viewDidLoad];    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];           webView.delegate = self; //设置代理    [self.view addSubview:webView];    NSString *string = @"http://moapproval.longfor.c…
参考 一.中间人攻击 概念:攻击者插入到原本直接通信的双方,让双方以为还在直接跟对方通讯,但是实际上双方的通信对方已经变成中间人,信息已经被中间人获取或篡改. HTTPS 的攻击分为两类:SSL 连接建立前的攻击:HTTPS 传输过程的攻击. 0x00: SSL 证书欺骗攻击:将客户端段的访问重定向到攻击的机器(使用伪造证书),而攻击者机器在跟服务器连接. 攻击工具:SSLSniff (伪造证书实现钓鱼攻击) 防范措施: 1)app 直接调用系统 API 创建的 HTTPS 连接一般不会受影响.…
AFN和ASI区别 一.AFN和ASI的区别 1.底层实现1> AFN的底层基于OC的NSURLConnection和NSURLSession2> ASI的底层基于纯C语言的CFNetwork框架3> ASI的运行性能 高于 AFN 2.对服务器返回的数据处理 1> ASI没有直接提供对服务器数据处理的方式,直接返回data\string 2> AFN提供了多种对服务器数据处理的方式 * JSON处理* XML处理* 其他处理 3.监听请求的过程1> AFN提供了suc…
1.下载Charles 下载地址:https://www.charlesproxy.com/download/ 2.安装Charles的证书 选择Help->SSL Proxying->Install Charles Root Certificate 打开钥匙串,设置信任Charles的根证书 3.Charles开启HTTPS监听 首先开启HTTP监听 设置HTTP监听的端口号和Socket监听的端口号 下面开启HTTPS监听 设置HTTPS监听的端口号,端口号前面的星号可以换成域名 4.给i…
一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 . 我们还需要防止中间人攻击(不明白的自己去百度).攻击者通过伪造的ssl证书使app连接到了伪装的假冒的服务器上,这是个严重的问题!那么如何防止中间人攻击呢? 首先web服务器必须提供一个ssl证书,需要一个 .crt 文件,然后设置app只能连接有效ssl证书的服务器. 在开始写代码前,先要把 .crt 文件转成 .cer 文件,然后…