iOS网络请求指南: 请求参数的拼接(签名)、返回参数解析(JSON/XML解析)、案例(条码支付综合前置平台申请退款)

引言

汇总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
    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
在这里插入图片描述

https://github.com/TouchCode/TouchXML/tree/feature/ARC

2.2 Java XML配置文件的dom和sax解析

Java XML配置文件的dom和sax解析
在这里插入图片描述

III、案例

3.1 【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)

iOS 安全规范指南之【对请求参数进行签名】请求参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)应用案例:条码支付综合前置平台申请退款

————————————————
版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z929118967/article/details/108195721

在这里插入图片描述

3.2 iOS网络请求指南之 【条码支付综合前置平台被扫支付 / 申请退款API】(接口类型:unified.trade.refund)

iOS网络请求指南之 【条码支付综合前置平台被扫支付 / 申请退款API】(接口类型:unified.trade.refund)

https://kunnan.blog.csdn.net/article/details/115084885

猜你喜欢

转载自blog.csdn.net/u011018979/article/details/115175707