Swift:
Inviare una richiesta http
Come fare:
In Swift, possiamo utilizzare URLSession
per gestire richieste HTTP. Ecco un esempio.
import Foundation
// Creiamo l'URL della risorsa
if let url = URL(string: "https://api.miosito.it/dati") {
// Creiamo una sessione
let session = URLSession.shared
// Creiamo la richiesta
let task = session.dataTask(with: url) { data, response, error in
// Controlliamo se ci sono errori
if let error = error {
print("Errore di richiesta: \(error)")
return
}
// Controlliamo la risposta ed estraiamo i dati
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
if let mimeType = httpResponse.mimeType, mimeType == "application/json",
let data = data,
let datiStringa = String(data: data, encoding: .utf8) {
print("Dati ricevuti: \(datiStringa)")
}
} else {
print("Problema con la risposta HTTP")
}
}
// Eseguiamo la task
task.resume()
}
Questo script fa una richiesta GET e stampa i dati ricevuti.
Approfondimento
La richiesta HTTP è un concetto fondamentale del web dal 1991, data della prima proposta di HTTP. In Swift, URLSession è lo standard per inviare richieste, ma ci sono alternative come Alamofire, che rendono alcune cose più semplici. Importante: gestire i dati e le risposte asincronamente per non bloccare il thread principale, essenziale per l’esperienza utente.
Vedi anche
- La documentazione di Swift su URLSession: https://developer.apple.com/documentation/foundation/urlsession
- Una guida ad Alamofire per richieste più complesse: https://github.com/Alamofire/Alamofire