![](/img/trans.png)
[英]how to modify data in an asynchronous URLrequest in swift before reaching the return statement
[英]How to specify the type of Data being sent in URLRequest in Swift?
我試圖了解如何使用 Swift 中的URLRequest.addvalue()
方法指定在 URLRequest 中發送的數據類型。
例如,我了解到
URLRequest.addValue("applications/json", forHTTPHeaderField: "Content-Type")
指定要發送的json數據。 例如,如果我需要發送 xml,我應該怎么做?
任何資源也將有所幫助!
這里我們不能直接將 header 字段分配給 URLRequest 類。 所以先做一個 URLRequest 的變量。
// create post request
let url = URL(string: "http://www.myserver.com")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
// set header field
request.addValue("application/xml", forHTTPHeaderField: "Content-Type")
// insert xml data to the request
let stringParams : String = "<msg id=\"123123\" reqTime=\"123123\">" +
"<params class=\"API\">" +
"<param name=\"param1\">123213</param>" +
"<param name=\"param2\">1232131</param>" +
"</params>" +
"</msg>"
request.httpBody = stringParams.data(using: String.Encoding.utf8, allowLossyConversion: true)
// api call
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print(error?.localizedDescription ?? "No data")
return
}
// process with data
print(data)
}
task.resume()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.