Hi,

I've often wondered the same as the above poster. Something like
readWebPage (in the same style as readFile) would be a really handy
function. Do no libraries provide this?

(if not, can one start providing it? MissingH?)

Thanks

Neil

On 1/18/07, Alistair Bayley <[EMAIL PROTECTED]> wrote:
> I'd like to write a very simple Haskell script that when given a URL, looks
> up the page, and returns a string of HTML. I don't see an HTTP library in
> the standard libs, and the one in Hackage requires Windows machines have GHC
> and MinGW to be installed and in the PATH.
>
> Is there a simple way to get the contents of a webpage using Haskell on a
> Windows box?

This isn't exactly what you want, but it gets you partway there. Not
sure if LineBuffering or NoBuffering is the best option. Line
buffering should be fine for just text output, but if you request a
binary object (like an image) then you have to read exactly the number
of bytes specified, and no more.

Alistair

module Main where

import System.IO
import Network

main = client "www.haskell.org" 80 "/haskellwiki/Haskell"

client server port page = do
  h <- connectTo server (PortNumber port)
  hSetBuffering h NoBuffering
  putStrLn "send request"
  hPutStrLn h ("GET " ++ page ++ "\r")
  hPutStrLn h "\r"
  hPutStrLn h "\r"
  putStrLn "wait for response"
  readResponse h
  putStrLn ""

readResponse h = do
  closed <- hIsClosed h
  eof <- hIsEOF h
  if closed || eof
    then return ()
    else do
      c <- hGetChar h
      putChar c
      readResponse h
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to