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

标签 ios swift api post

<分区>

如何快速将多个数据附加到 POST 请求。 作为 postman 的附加屏幕截图,它在选择 x-www-form-urlencoded 选项时工作正常 如何将 5 个数据附加到正文中,例如 'x-www-form-urlencoded' 选项。

这里是代码,

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

        var urlComponents = URLComponents()
        urlComponents.queryItems = [
            URLQueryItem(name: “***”, value: “***”),
            URLQueryItem(name: "***", value: "***"),
            URLQueryItem(name: "***", value: "***"),
            URLQueryItem(name: "***", value: "***"),
            URLQueryItem(name: "***", value: "***"),
        ]
        request.httpBody = urlComponents.percentEncodedQuery?.data(using: String.Encoding.utf8)

        let loadDataTask = URLSession.shared.dataTask(with: request) { (data, response, error) in
            if let _ =  error{
                completion(false,error)
            }
            else if let response = response as? HTTPURLResponse{
                if response.statusCode != 200{
                    completion(false,error)
                }
                else{
                    do{
                        if let parsedData = try? JSONSerialization.jsonObject(with: data!, options: []){
                            let ff = parsedData as? Dictionary<String,Any>
                            print(ff)
                        }
                    }
                }

            }
        }//let loadDataTask
        loadDataTask.resume()
    }

enter image description here

最佳答案

创建 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)

关于ios - 如何在 POST 请求中附加数据 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50115905/

相关文章:

objective-c - AFNetworking 不恢复下载

ios - 如何在iOS中用动画隐藏UITableView的删除按钮?

ios - 在 ScrollView 中的 TextView 外部点击时关闭键盘

ios - iOS 上 UITextField 验证的更好方法是什么?

ios - 从 Firebase 查询创建 TableView (iOS、Swift)

facebook - 内置类似操作拒绝对象类型

javascript - 一一发送多个 API 调用时丢失互联网连接

ios - 为什么我们应该在 Swift 中使用 "NSMutableArray"或 "NSMutableDictionary"?

swift - 如何检测cgRect中的cgPath

json - 如何在 react native 应用程序中获取带有 header 的 api(POST)