ウェブページのダウンロード

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 (深掘り)

歴史的な側面から見ると、URLSessionNSURLConnectionの後継者です。NSURLConnectionはiOSの初期バージョンから利用可能でしたが、より柔軟でモダンなURLSessionに置き換えられました。代替手段としては、第三者ライブラリの使用があり、例えばAlamofireはSwiftで人気のHTTPネットワーキングライブラリです。実装詳細では、通常のHTTP GETリクエストだけでなく、POSTリクエストやその他のHTTPメソッドを扱うことができます。また、セッション設定をカスタマイズして、タイムアウト値やキャッシュポリシーを制御することも可能です。

See Also (関連情報)