Kotlin:
Scaricare una pagina web
Come si fa:
Utilizziamo URL e HttpURLConnection di Kotlin per scaricare il contenuto di una pagina web:
import java.io.BufferedReader
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
fun downloadWebPage(url: String): String {
val urlObj = URL(url)
with(urlObj.openConnection() as HttpURLConnection) {
requestMethod = "GET"
BufferedReader(InputStreamReader(inputStream)).use {
val response = it.readText()
println(response)
return response
}
}
}
fun main() {
val webPageContent = downloadWebPage("http://example.com")
println(webPageContent)
}Quando esegui main, vedrai il contenuto della pagina web nel terminale.
Approfondimento
Nel passato, programmi come wget e curl erano tipicamente usati per scaricare pagine web. Oggi, in Kotlin, URL e HttpURLConnection offrono un approccio diretto. Potresti anche usare librerie esterne come OkHttp per maggiori funzionalità e una sintassi più semplice.
Dettagli d’implementazione:
HttpURLConnectionpermette di impostare metodo di richiesta e headers.BufferedReadereInputStreamReaderconvertono il flusso binario in testo.InputStreamReaderusa il charset di default, che potrebbe non essere corretto per tutte le pagine.
Alternative:
OkHttpè più moderno e facile da usare: gestisce meglio i timeout e gli errori.jsouppuò essere utilizzato per il parsing del HTML se hai la necessità di estrarre dati specifici.