如何在 POST 请求中附加数据 - Swift

Vin*_* TP 1 api post ios swift

如何在 swift 中通过 POST 请求附加多个数据。\n作为邮递员的附加屏幕截图,当选择 x-www-form-urlencoded选项时,它工作正常\n如何使用类似正文的\'x-www-form-urlencoded\'选项附加 5 个数据。

\n\n

这里的代码,

\n\n
var request = URLRequest(url: urlString)\n        request.httpMethod = "POST"\n        request.setValue("application/x-www-form-urlencoded;charset=UTF-8", forHTTPHeaderField: "Content-Type")\n\n        var urlComponents = URLComponents()\n        urlComponents.queryItems = [\n            URLQueryItem(name: \xe2\x80\x9c***\xe2\x80\x9d, value: \xe2\x80\x9c***\xe2\x80\x9d),\n            URLQueryItem(name: "***", value: "***"),\n            URLQueryItem(name: "***", value: "***"),\n            URLQueryItem(name: "***", value: "***"),\n            URLQueryItem(name: "***", value: "***"),\n        ]\n        request.httpBody = urlComponents.percentEncodedQuery?.data(using: String.Encoding.utf8)\n\n        let loadDataTask = URLSession.shared.dataTask(with: request) { (data, response, error) in\n            if let _ =  error{\n                completion(false,error)\n            }\n            else if let response = response as? HTTPURLResponse{\n                if response.statusCode != 200{\n                    completion(false,error)\n                }\n                else{\n                    do{\n                        if let parsedData = try? JSONSerialization.jsonObject(with: data!, options: []){\n                            let ff = parsedData as? Dictionary<String,Any>\n                            print(ff)\n                        }\n                    }\n                }\n\n            }\n        }//let loadDataTask\n        loadDataTask.resume()\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n

And*_*tta 5

创建 http 主体的一种简单方法是URLComponents像这样使用:

var request = URLRequest(url: yourUrl)
request.httpMethod = "POST"
request.setValue("application/x-www-form-urlencoded;charset=UTF-8", forHTTPHeaderField: "Content-Type")

var urlComponents = URLComponents()
urlComponents.queryItems = [
    URLQueryItem(name: "your_first_parameter", value: "someValue"),
    URLQueryItem(name: "your_second_parameter", value: "someValue"),
    URLQueryItem(name: "your_third_parameter", value: "someValue")
]
request.httpBody = urlComponents.percentEncodedQuery?.data(using: .utf8)
Run Code Online (Sandbox Code Playgroud)