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)")
        }
    }
}
相关推荐
我不会插花弄玉8 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理9 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
火云代理13 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖13 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理16 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城16 小时前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
布莱克6052 天前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
略懂而已2 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
布莱克6052 天前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
Thanks_ks2 天前
HTTPS:浏览器地址栏那把锁的工作原理
http·网络安全·https·tls·加密算法·数字证书·中间人攻击