Portability | posix |
---|---|
Stability | provisional |
Maintainer | Don Stewart <dons@galois.com> |
A binding to libdownload, an efficient, high level library for retrieving files using Uniform Resource Locators (URLs). This provides simple, uniform access to file, FTP and HTTP resources. Content may be retrieved as a strings, ByteString or parsed as HTML tags, XML or RSS and Atom feeds.
Error handling is encapsulated in the Either type.
The basic interface to network content
openURI :: String -> IO (Either String ByteString)Source
Download content specified by url (in RFC1738 form), using either FTP, HTTP or file protocols, returning the content as a strict ByteString.
If the url is malformed, a Left value is returned. Similarly, if an error occurs, Left is returned, with a protocol-specific error string.
If the file protocol is used, documents will be retrieved from the
local filesystem. If the ftp scheme is used, the FTP protocol
(RFC959) is used. If no user name or passoword are provided,
anonymous login, with user name anonymous
and password anonymous
will be attempted.
If the http method is used, HTTP/1.1 will be used.
Examples:
openURI "http://haskell.org"
Parsers for common formats
openAsTags :: String -> IO (Either String [Tag String])Source
Download the content as for openURI, but return it as a list of parsed tags using the tagsoup html parser.