http网络服务-swift-Alamofire

依赖库的github地址

http网络库
Alamofire

解json
SwiftyJSON

Swift Package Manager集成依赖库

swift 复制代码
https://github.com/Alamofire/Alamofire.git

https://github.com/emqx/CocoaMQTT.git

使用

swift 复制代码
import Alamofire
import SwiftyJSON

var http = "http://xxxxxxxx"
var post = "xxx/xxx"
var url: String {http + post}

func action() {
	// 请求参数
    let a: [String: String] = [
        "name": "anna",
        "gender": "girl"
    ]
    
	// 改操作限时3s(request中的参数可以根据需求进行更改)
    AF.request(url, method: .post, parameters: a, encoder: JSONParameterEncoder.default, requestModifier: { $0.timeoutInterval = 3 }).response { response in
        switch response.result {
        case .success(let data):
            if let data = data, let responseString = String(data: data, encoding: .utf8) {
                let jsonData = responseString.data(using: .utf8)
                // 解json
                let json = JSON(jsonData)
                // 假设json里面有一个code元素
                let code = json["code"].intValue
                // 假设json里面有一个数组a,数组a中有一元素b
                let c = json["a"]["b"].stringValue

                // 打印整个json
                print(json)
            }
            
            
        case .failure(let error):
        	// 超时或失败,打印错误
            print("Error: \(error)")
        }
    }
}
相关推荐
博客zhu虎康11 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
xixingzhe21 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮2 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨2 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵2 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
songgeb2 天前
YYImage Bug:一行之差,正常 JPEG 如何在 iOS 被读成条纹
ios·swift
AI 编程助手GPT3 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http
fthux3 天前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
流浪0013 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头