--- 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

Reply via email to