Swift:
Webseite herunterladen
So geht’s:
import Foundation
let url = URL(string: "https://beispiel.de")!
let urlSession = URLSession.shared
let task = urlSession.dataTask(with: url) { data, response, error in
if let error = error {
print("Fehler beim Herunterladen der Seite: \(error)")
return
}
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
if let data = data, let webpageContent = String(data: data, encoding: .utf8) {
print(webpageContent)
}
} else {
print("Unerwarteter Statuscode: \((response as? HTTPURLResponse)?.statusCode ?? -1)")
}
}
task.resume()
Ausgabe: Der vollständige HTML-Inhalt von ‘https://beispiel.de’
Deep Dive
Das Herunterladen von Webseiten-Content reicht zurück bis zu den Anfängen des Internets, als Programme wie ‘wget’ und ‘curl’ in den 90ern populär wurden. In Swift gibt es Alternativen zum obigen Ansatz, zum Beispiel das Verwenden von WebView
für iOS oder URLSessionDownloadTask
für größere Dateien. Bei der Implementierung ist es wichtig zu beachten, dass Netzwerkanfragen asynchron ablaufen, um die UI nicht zu blockieren, und das Handling von Statuscodes sowie Fehlerbehandlung essentiell für robuste Applikationen ist.
Siehe auch:
- Die offizielle Dokumentation von
URLSession
: URLSession | Apple Developer Documentation - Ein Tutorial für Anfänger zum Thema: How to download files in Swift