Swift:
ウェブページのダウンロード
How to (方法)
Swiftでは、URLSession
を使用して簡単にウェブコンテンツをダウンロードできます。
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 downloading: \(error)")
return
}
if let data = data, let htmlString = String(data: data, encoding: .utf8) {
print(htmlString)
}
}
task.resume()
実行すると、コンソールにHTMLコンテンツが表示されます。
Deep Dive (深掘り)
歴史的な側面から見ると、URLSession
はNSURLConnection
の後継者です。NSURLConnection
はiOSの初期バージョンから利用可能でしたが、より柔軟でモダンなURLSession
に置き換えられました。代替手段としては、第三者ライブラリの使用があり、例えばAlamofire
はSwiftで人気のHTTPネットワーキングライブラリです。実装詳細では、通常のHTTP GETリクエストだけでなく、POSTリクエストやその他のHTTPメソッドを扱うことができます。また、セッション設定をカスタマイズして、タイムアウト値やキャッシュポリシーを制御することも可能です。
See Also (関連情報)
- Swift公式ドキュメント: URLSession
- 第三者ライブラリ: Alamofire
- HTTPリクエストの基本: HTTPリクエストメソッド