Haskell:
Scaricare una pagina web
How to:
In Haskell, usiamo librerie come http-conduit
per scaricare pagine web. Ecco un semplice esempio:
import Network.HTTP.Simple (httpBS, getResponseBody)
main :: IO ()
main = do
response <- httpBS "http://example.com"
let body = getResponseBody response
putStrLn $ "Il contenuto della pagina è: " ++ show body
Output di esempio:
Il contenuto della pagina è: "<html>...</html>"
Prima di eseguire questo codice, installa il pacchetto http-conduit
con cabal install http-conduit
.
Deep Dive:
Scaricare pagine web in Haskell non è difficile, ma richiede di comprendere alcune basi. http-conduit
è una scelta popolare dato che gestisce automatizzazioni come la gestione dei cookies e reindirizzamenti. In passato, si usavano librerie come HTTP
o curl
. Oltre a scaricare semplici pagine HTML, potresti voler gestire anche JSON o XML, usando librerie come aeson
o xml-conduit
. Quando implementi il download, considera gli header HTTP, le richieste POST, e la gestione degli errori di rete.
See Also:
- Documentazione di
http-conduit
: https://hackage.haskell.org/package/http-conduit - Libreria
aeson
per JSON: https://hackage.haskell.org/package/aeson - Libreria
xml-conduit
per XML: https://hackage.haskell.org/package/xml-conduit - Tutorial su HTTP in Haskell: https://www.schoolofhaskell.com/school/starting-with-haskell/libraries-and-frameworks/http-client