Чтобы загрузить веб-сайт в виде строки в 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. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.