Haskell:
Baixando uma página da web
Como Fazer:
Instale a biblioteca http-conduit
com cabal install http-conduit
e use o seguinte exemplo:
import Network.HTTP.Simple
main :: IO ()
main = do
response <- httpLBS "http://example.com"
let statusCode = getResponseStatusCode response
if statusCode == 200
then putStrLn $ "Foi baixado com sucesso! Código de status: " ++ show statusCode
else print $ "Algo deu errado! Código de status: " ++ show statusCode
print $ getResponseBody response
Rodando isso, você verá algo do tipo:
"Foi baixado com sucesso! Código de status: 200"
"<!doctype html>..."
Aprofundamento
O download de páginas web não é novidade, mas Haskell o torna elegante com sua tipagem forte e efeitos colaterais controlados. A bilbioteca http-conduit
é só uma das ferramentas; alternativas incluem wreq
e http-client
. Detalhe importante do http-conduit
é sua habilidade de lidar com solicitações streaming e processamento de resposta incrementais.