--- Eric <[EMAIL PROTECTED]> wrote: > Hi all, > > I've written the following program to connect to a > submit an HTTP GET > request to a server and print the response: > > module Main where > > import Network > import System.IO > > main = withSocketsDo go > > go = do putStrLn "Connecting..." > out <- connectTo "haskell.org" > (PortNumber 80) > hPutStrLn out "GET /\r" > hPutStrLn out "Host: haskell.org\r" > hPutStrLn out "\r" > cs <- hGetLine out > hClose out > print cs > > When I run the program, however, I get the following > error: > > HTTPClient: <socket: 1872>: hGetLine: end of file > > Can anyone see what's wrong? > > > E.
Try calling 'hFlush out' prior to the call to hGetLine. I believe the output to the socket is buffered, so the receiver isn't seeing your GET request, and eventually closes the connection on its end, leading to the EOF on the hGetLine. > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
