Swift:
Descargando una página web
Cómo hacerlo:
Primero, asegúrate de que tienes permisos para acceder a la red en tu Info.plist
. Ahora, con Swift y URLSession es fácil:
import Foundation
let url = URL(string: "https://example.com")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
print("Error al descargar la página: \(error)")
return
}
guard let httpResponse = response as? HTTPURLResponse, (200...299).contains(httpResponse.statusCode) else {
print("Error en la respuesta del servidor")
return
}
if let mimeType = httpResponse.mimeType, mimeType == "text/html",
let data = data,
let string = String(data: data, encoding: .utf8) {
print("Página descargada: \(string)")
}
}
task.resume()
Si todo va bien, deberías ver el HTML de la página impreso en la consola.
Inmersión Profunda:
Antes de Swift y URLSession, descargar una página web se hacía comúnmente con APIs como NSURLConnection, que ahora están obsoletas. URLSession es más flexible y fácil de usar.
NSURLConnection (obsoleto) ➡︎ URLSession.
Alternativas a URLSession incluyen librerías de terceros como Alamofire, que ofrecen más funcionalidades y simplifican tareas comunes.
NSURLSession maneja los detalles de implementación internos como la gestión de la conexión de red, pero es importante manejar los errores y verificar el estado del código HTTP para entender cómo fue la petición.
Vea También:
- Documentación oficial de URLSession: URLSession Apple Developer
- Alamofire, una librería HTTP de terceros para Swift: Alamofire GitHub
- Guía para manejo de permisos de red en Info.plist: Info.plist Permissions