Методы загрузки веб-сайта в виде строки в Котлине

Чтобы загрузить веб-сайт в виде строки в Kotlin, вы можете использовать разные методы в зависимости от ваших требований. Вот несколько примеров:

Метод 1: использование классов URLи HttpURLConnection

import java.net.HttpURLConnection
import java.net.URL
fun downloadWebsiteAsString(urlString: String): String {
    val url = URL(urlString)
    val connection = url.openConnection() as HttpURLConnection
    connection.requestMethod = "GET"
    connection.connectTimeout = 5000 // Set your desired timeout value
    connection.readTimeout = 5000 // Set your desired timeout value
    val responseCode = connection.responseCode
    if (responseCode == HttpURLConnection.HTTP_OK) {
        val inputStream = connection.inputStream
        val content = inputStream.bufferedReader().use { it.readText() }
        inputStream.close()
        return content
    }
    return "" // Return an empty string if the download fails
}

Метод 2. Использование библиотеки OkHttp.
Чтобы использовать этот метод, вам необходимо добавить в проект зависимость OkHttp.

import okhttp3.OkHttpClient
import okhttp3.Request
fun downloadWebsiteAsString(urlString: String): String {
    val client = OkHttpClient()
    val request = Request.Builder()
        .url(urlString)
        .build()
    val response = client.newCall(request).execute()
    if (response.isSuccessful) {
        val body = response.body?.string()
        response.close()
        return body ?: ""
    }
    return "" // Return an empty string if the download fails
}

Метод 3. Использование библиотеки Jsoup.
Чтобы использовать этот метод, вам необходимо добавить в проект зависимость Jsoup.

import org.jsoup.Jsoup
fun downloadWebsiteAsString(urlString: String): String {
    val doc = Jsoup.connect(urlString).get()
    return doc.html()
}

Это три распространенных метода загрузки веб-сайта в виде строки в Kotlin. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.