Descargando una página web

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: