Swift:
HTTP-pyynnön lähettäminen
How to:
Swiftissä HTTP-pyyntöjen lähettämiseen käytetään URLSession
-luokkaa. TässäNopea esimerkki GET-pyynnön lähettämisestä:
import Foundation
// Luo URL-olio
if let url = URL(string: "http://api.example.com/data") {
// Määritä URLSession
let session = URLSession.shared
// Luo tehtävä
let task = session.dataTask(with: url) { (data, response, error) in
// Tarkista virheet
if let error = error {
print("Virhe: \(error)")
return
}
// Tarkista HTTP-vastaus ja tulosta data
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
if let data = data, let dataString = String(data: data, encoding: .utf8) {
print("Saatu data: \(dataString)")
}
} else {
print("HTTP-pyyntö epäonnistui")
}
}
// Aloita tehtävä
task.resume()
}
Deep Dive:
HTTP-pyynnöt ovat olleet verkon perusta heti alkuajoista lähtien. Vaihtoehtoina on esimerkiksi WebSocket tai kolmansien osapuolien rajapinnat, kuten Alamofire Swiftissä. Järjestelmäkutsut rajapinnan taustalla käyttävät TCP/IP-stäkkiä tietojen siirtoon. Sertifikaatit ja HTTPS lisäävät tietoturvaa.
See Also:
Tässä muutama hyödyllinen linkki:
- Swiftin virallinen
URLSession
-dokumentaatio: Apple Developer Documentation - REST API -opas ymmärtääksesi paremmin HTTP-pyyntöjä ja niiden käyttöä: REST API Tutorial
- Alamofire, Swiftin laajalti käytetty HTTP-verkkokehys: Alamofire GitHub