引言
汇总iOS 网络请求相关的文章
原文地址
I、 请求参数的拼接
1.1 iOS网络请求指南之【提交和返回数据都为XML格式】
post请求body为XML的二进制数据的问题总结:不管是ASI 还是AFNetwork框架的使用方法,都是采用原生态的请求对象NSMutableURLRequest
即自己封装好NSMutableURLRequest 对象直接作为框架对应的API方法的参数 否则将请求失败,服务器端通常无法识别。
https://kunnan.blog.csdn.net/article/details/74938721
1、对第三方网络SDK API进一步封装,将业务逻辑代码与网络框架进行解耦
2 、 静态库中使用第三方框架与主app冲突的解决方案
——————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/74938721
- 返回数据以xml格式接收
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; request.HTTPMethod = @"POST"; NSMutableString *strXML = [self DicToXmlstr:requestParameter]; NSData *params = [strXML dataUsingEncoding:NSUTF8StringEncoding]; request.HTTPBody = params; mgr.responseSerializer = [AFHTTPResponseSerializer serializer];//返回数据以xml格式接收 mgr.requestSerializer = [AFHTTPRequestSerializer serializer]; [mgr.requestSerializer setValue:@"gzip, deflate" forHTTPHeaderField:@"Accept-Encoding"]; //———————————————— //版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 //原文链接:https://blog.csdn.net/z929118967/article/details/74938721
- 返回数据以json格式接收
manager.requestSerializer = [AFHTTPRequestSerializer serializer]; [manager.requestSerializer setValue:@"application/json-patch+json" forHTTPHeaderField:@"Content-Type"]; mgr.responseSerializer = [AFJSONResponseSerializer serializer];//返回数据以json格式接收 // manager.responseSerializer = [AFHTTPResponseSerializer serializer]; manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", @"text/plain",@"application/json; charset=utf-8", @"Content-Type: application/json-patch+json",nil]; NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:[NSString stringWithFormat:@"%@",urlStr] parameters:nil error:nil]; [req setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [req setValue:@"application/json" forHTTPHeaderField:@"Accept"];
1.2 post实现key=value&key=value形式的数据提交的方案
iOS网络请求指南之【 Post 实现key=value&key=value形式的数据提交的方案】 (提交请求数据格式为application/x-www-form-urlencoded)
———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/77128793
1.3 【 get 和post 布尔值参数处理方案】
iOS使用NSNumber 传BOOL值参数时,需要区分get 和post进行处理(get请求对应的0和1,post对应true/false:若服务端Bool 参数没有同时支持这两种格式,就需要处理)
———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/105138207
II 、返回参数解析
2.1 iOS JSON解析方案、XML配置文件的dom和sax解析方案
https://kunnan.blog.csdn.net/article/details/74558561
- iOS TouchXML 的使用例子: XML解析
https://blog.csdn.net/z929118967/article/details/74747249 https://github.com/TouchCode/TouchXML/tree/feature/ARC
Java XML配置文件的dom和sax解析
III、案例
3.1 【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)
iOS app侧对请求参数进行签名:【请求参数按照ASCII码从小到大排序、拼接、加密】(递归的方式进行实现)
iOS 安全规范指南之【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)应用案例:条码支付综合前置平台申请退款
———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/108195721
iOS网络请求指南之 【条码支付综合前置平台被扫支付 / 申请退款API】(接口类型:unified.trade.refund)
see also
#公众号:iOS逆向CSDN认证博客专家 Swift SwiftUI Objective-C
微信公众号:【iOS逆向】
iOS逆向与安全,熟悉iphone/tweak、iphone/tool、cydia的repo 制作 、cocoapods的Specs repo制作(using-pod-lib-create、private-cocoapods)。
I am a software engineer currently living in Changsha. My interests range from technology to writing.