AFNetwoking 3.1 https请求相关
来源:互联网 发布:文字特效软件 编辑:程序博客网 时间:2024/06/06 07:19
1.下载最新版: AFNetwoking
地址:https://github.com/AFNetworking/AFNetworking.git
2. 导入头文件
#import "AFNetworking.h"
3.初始化
-(AFHTTPSessionManager*)manager{
if (!manager) {
manager = [AFHTTPSessionManager manager];
// 上传json格式
// manager.requestSerializer = [AFJSONRequestSerializer serializer];
// 上传普通格式
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
//返回到的是json数据
// manager.responseSerializer = [AFJSONResponseSerializer serializer];
// 返回的普通数据
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.requestSerializer.timeoutInterval = kTimeOutInterval;
manager.responseSerializer.acceptableContentTypes = [NSSet
setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", @"text/plain",nil];
}
return manager;
}
4.发起请求
AFHTTPSessionManager *manager = [self manager];
[manager POST:nil parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
如果你的url 是http的 那么 到此 就可以返回数据了
如果你的url 是https 的 那么请继续往下看
5.https相关配置
== ①大部分需要证书
证书制作方法 :
在桌面建一个文件夹 名字随便起
打开终端 cd 空格 把刚才建的文件夹路径拖过来
按回车
输入下面语句
openssl s_client -connect www.baidu.com:443 </dev/null 2>/dev/null | openssl x509 -outform DER > https.cer
语句解释如下:www.baidu.com 是你请求的地址的域名
https.cer 将要生成的证书的名字 当然你可以随便起 a.cer b.cer sb.cer 但是重要的是要以 .cer 结尾
②退出终端
把刚才制作的 https.cer 证书 拖到项目
编写以下代码
- (AFSecurityPolicy*)customSecurityPolicyName:(NSString*)name
{
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"https" ofType:@"cer"];
NSData * certData =[NSData dataWithContentsOfFile:cerPath];
NSSet * certSet = [[NSSet alloc] initWithObjects:certData, nil];
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
// 是否允许,NO-- 不允许无效的证书
[securityPolicy setAllowInvalidCertificates:YES];
// 设置证书
[securityPolicy setPinnedCertificates:certSet];
return securityPolicy;
}
③一切准备就绪 可以发起请求了
AFHTTPSessionManager *manager = [self manager];
[manager setSecurityPolicy:[self customSecurityPolicyName:@"htttps"]];
[manager POST:nil parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
④解析你的数据吧
一切准备就绪,coder 敲起来吧!!!
如有其它疑问 请留言
星爷至上
- AFNetwoking 3.1 https请求相关
- 使用AFNetWoking加载https
- 关于https的访问请求相关总结
- iOS 开发之利用AFNetwoking实现GET请求
- java进行https请求以及相关证书的生成
- Spring Integration请求https ssl地址相关配置
- java发起https请求时证书相关问题
- https请求
- https相关
- HTTPS相关
- HTTPS 相关
- https相关、http相关
- HTTPS请求添加请求头
- HttpClient请求Https协议
- Java https请求 HttpsURLConnection
- curl https请求 解决方案
- Android 请求https 网址
- QT https post请求
- 最长上升连续子序列
- cocoapods中的pod file介绍
- 实习杂记(23):ant里面condition属性测试
- Boost Thread 编程指南、Boost线程入门教程
- poj 1017贪心-装箱
- AFNetwoking 3.1 https请求相关
- 在32位Windows上扩展虚拟内存(Labview)
- MVC及Web API添加身份验证及错误处理的过滤器
- android studio 如何调用framework.jar在android.jar包之前
- Android上自定义View实现电子签名功能
- sizeof和strlen的区别?
- RecyclerView:实现带header的grid
- 25个微心理
- MySQL使用explain查看执行计划