Copyright | (c) Don Stewart |
---|---|
License | BSD3 |
Maintainer | Don Stewart <dons@galois.com> |
Stability | provisional |
Portability | posix |
Safe Haskell | None |
Language | Haskell98 |
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 password 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.