Cookbook/Network programming
From HaskellWiki
< Cookbook
The following example makes use of the Network and System.IO libraries to open a socket connection to Google and retrieve the Google home page.
import Network import System.IO main = withSocketsDo $ do h <- connectTo "www.google.com" (PortNumber 80) hSetBuffering h LineBuffering hPutStr h "GET / HTTP/1.1\nhost: www.google.com\n\n" contents <- hGetContents h putStrLn contents hClose h
The following example POSTs via a proxy.
import Network.URI import Network.HTTP import Network.Browser Just pollUri = parseURI "http://example.com/question?life&universe&everything" -- WARNING: only works with hardcoded arguments like this one body = "answer=42" headers = [Header HdrContentType "application/x-www-form-urlencoded", Header HdrContentLength (show . length $ body)] pollRq = Request { rqURI = pollUri, rqMethod = POST, rqHeaders = headers, rqBody = body } -- Default polipo setting p = Proxy "localhost:8118" Nothing main = browse $ do setProxy p request pollRq
