Haskell:
Inviare una richiesta http
How to:
In Haskell, usiamo librerie come http-conduit
per mandare richieste HTTP. Ecco un esempio veloce:
import Network.HTTP.Simple
main :: IO ()
main = do
response <- httpBS "http://httpbin.org/get"
putStrLn $ "The status code was: " ++ show (getResponseStatusCode response)
print $ getResponseHeader "Content-Type" response
putStrLn $ "The body is: " ++ show (getResponseBody response)
Se avvii questo codice, otterrai qualcosa del tipo:
The status code was: 200
["application/json"]
The body is: "<qui ci sarà il corpo della risposta>"
Deep Dive
Haskell, bello e funzionale, non è stato il primo a fare richieste HTTP. Questo esiste da quando internet ha avuto bisogno di comunicare a distanza. Le alternative includono librerie come Network.HTTP
o wget
via System.Process
. Quando invii una richiesta, sotto il cofano, la libreria gestisce la connessione TCP/IP, costruendo l’header HTTP e interpretando la risposta.
See Also
- La documentazione di
http-conduit
- Tutorial Haskell su richieste HTTP: School of Haskell
- Leggi sulla
Network.HTTP
library per un’altra prospettiva