Enviando uma requisição HTTP

Haskell:
Enviando uma requisição HTTP

Como Fazer:

Vamos usar a biblioteca http-conduit para enviar um pedido HTTP GET simples. Certifique-se de ter ela instalada usando cabal install http-conduit.

import Network.HTTP.Simple

main :: IO ()
main = do
    response <- httpLBS "http://httpbin.org/get"
    putStrLn $ "O status code é: " ++ show (getResponseStatusCode response)
    putStrLn $ "O corpo da resposta é: " ++ show (getResponseBody response)

Quando você executa, a saída vai ser algo como:

O status code é: 200
O corpo da resposta é: "...alguns dados do servidor..."

Mergulho Profundo

Enviar pedidos HTTP não é novidade. Na verdade, desde os primórdios da web, é o pão com manteiga da comunicação na internet. Alternativas para http-conduit incluem wreq, req, entre outras, cada uma com suas particularidades. O http-conduit emprega o conceito de streams para lidar com a resposta, o que pode ser um uso eficaz de memória para respostas grandes.

Internamente, um pedido HTTP é uma mensagem formatada enviada através do protocolo de comunicação TCP/IP. Em Haskell, abstraimos isso: fazemos uma chamada de função, e a biblioteca cuida dos detalhes internos pra gente.

Veja Também