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)")
        }
    }
}
相关推荐
罗小爬EX3 小时前
基于WebSocket + STOMP + SockJS + RabbitMq的聊天室Demo
websocket·网络协议·rabbitmq
初听于你4 小时前
深入解析IP, ICMP, OSPF, BGP四大核心网络协议
服务器·网络·网络协议·计算机网络·信息与通信·信号处理
还下着雨ZG13 小时前
TCP/IP协议族详细介绍
网络·网络协议·tcp/ip·计算机网络
記億揺晃着的那天17 小时前
WebSocket 通俗讲解
网络·websocket·网络协议·实时通信
xxtzaaa17 小时前
手游端游IP被限制无法多开如何解决
网络协议·tcp/ip·智能路由器
听风吟丶18 小时前
Java 11+ HttpClient 实战:从 HttpURLConnection 到现代 HTTP 客户端的全面升级
java·开发语言·http
小草cys18 小时前
【解决】华为欧拉系统上遇到能 ping 通 IP 地址(如 8.8.8.8)但无法 ping 通域名(如 www.baidu.com)的情况
网络·网络协议·tcp/ip
重启编程之路18 小时前
python 基础学习socket -UDP编程
python·网络协议·学习·udp