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

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

image.png

引言

汇总iOS 网络请求相关的文章

原文地址

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

I、 请求参数的拼接

1.1 iOS网络请求指南之【提交和返回数据都为XML格式】

post请求body为XML的二进制数据的问题总结:不管是ASI 还是AFNetwork框架的使用方法,都是采用原生态的请求对象NSMutableURLRequest

即自己封装好NSMutableURLRequest 对象直接作为框架对应的API方法的参数 否则将请求失败,服务器端通常无法识别。

image.png

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

image.png

  • iOS TouchXML 的使用例子: XML解析
https://blog.csdn.net/z929118967/article/details/74747249 https://github.com/TouchCode/TouchXML/tree/feature/ARC image.png

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

image.png

III、案例

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

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

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

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

image.png

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

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

image.png

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.

目录
相关文章
|
11月前
|
SQL 存储 JSON
SQL,解析 json
SQL,解析 json
186 8
|
6月前
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
423 4
JSON数据解析实战:从嵌套结构到结构化表格
|
6月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
173 15
|
8月前
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
8月前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
1250 12
|
8月前
|
JSON 缓存 API
解析电商商品详情API接口系列,json数据示例参考
电商商品详情API接口是电商平台的重要组成部分,提供了商品的详细信息,支持用户进行商品浏览和购买决策。通过合理的API设计和优化,可以提升系统性能和用户体验。希望本文的解析和示例能够为开发者提供参考,帮助构建高效、可靠的电商系统。
267 12
|
9月前
|
JSON JavaScript 前端开发
一次采集JSON解析错误的修复
两段采集来的JSON格式数据存在格式问题,直接使用PHP的`json_decode`会报错。解决思路包括:1) 手动格式化并逐行排查错误;2) 使用PHP-V8JS扩展在JavaScript环境中解析。具体方案一是通过正则表达式和字符串替换修复格式,方案二是利用V8Js引擎执行JS代码并返回JSON字符串,最终实现正确解析。 简介: 两段采集的JSON数据因掺杂JavaScript代码导致PHP解析失败。解决方案包括手动格式化修复和使用PHP-V8JS扩展在JavaScript环境中解析,确保JSON数据能被正确处理。
|
11月前
|
JSON JavaScript API
商品详情数据接口解析返回的JSON数据(API接口整套流程)
商品详情数据接口解析返回的JSON数据是API接口使用中的一个重要环节,它涉及从发送请求到接收并处理响应的整个流程。以下是一个完整的API接口使用流程,包括如何解析返回的JSON数据:
|
6月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
615 29
|
6月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
180 4

热门文章

最新文章

推荐镜像

更多
  • DNS