Inviare una richiesta http

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