Tama işte stack'da bulduğu örnek gayet iyi.
Fakat çalışabilmesi için uygulama info.plist'içerisi "App Transport Security Settings" key'ini ve onun altınada "Allow Arbitrary Loads" karşısında "YES" değerini seçmelisin.
var request = URLRequest(url: URL(string: "https://www.netdata.com/WS.asmx/GetData")!)
request.httpMethod = "POST"
//apikey'i, ColumnName ve value değerlerini belirt.
let postString = String(format: "APIKey=%@&ColumnName=%@&Value=%@", "a3829dc2", "ColumnName buraya", "value buraya")
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(error)")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")
}
task.resume()