Kotlin:
Pobieranie strony internetowej
How to:
Kotlin pozwala na proste pobieranie treści sieciowej. Oto podstawowy przykład:
import java.net.URL
fun main() {
val websiteContent = URL("http://example.com").readText()
println(websiteContent)
}
Wyjście (sample output):
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
</html>
Ten kod wyświetli kod HTML strony example.com.
Deep Dive
Pobieranie stron internetowych jest starym jak WWW. Historia sięga protokołu HTTP i HTML. Alternatywami są biblioteki jak OkHttp lub Retrofit dla funkcji bardziej zaawansowanych, takich jak obsługa błędów i asynchroniczność.
import okhttp3.OkHttpClient
import okhttp3.Request
fun main() {
val client = OkHttpClient()
val request = Request.Builder()
.url("http://example.com")
.build()
client.newCall(request).execute().use { response ->
if (!response.isSuccessful) throw IOException("Błąd: ${response.code}")
println(response.body?.string())
}
}
Korzystanie z zewnętrznych bibliotek daje większą kontrolę i bezpieczeństwo. Pamiętaj o dodaniu zależności w Gradle.
See Also
- OkHttp: https://square.github.io/okhttp/
- Retrofit: https://square.github.io/retrofit/
- Dokumentacja Kotlin: https://kotlinlang.org/docs/reference/
- Przewodnik po HTTP: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview