Hi All,
I wanted to ask if anyone can recommend a CL library for retrieving
files using the http protocol. Note that I'm not after a CL based http
server, but rather just a library which supports interaction with an
http server.
I'm hoping there is something suitable. While it probably wouldn't be
too difficult to implement basic protocol support, I'm hoping someone
has already dealt with the implementation differences re: socket
handling etc.
TIA
Tim
--
Tim Cross
The e-mail address on this message is FALSE (obviously!). My real e-mail is
to a company in Australia called rapttech and my login is tcross - if you
really need to send mail, you should be able to work it out!
Tim X wrote:
> Hi All,
>
> I wanted to ask if anyone can recommend a CL library for retrieving
> files using the http protocol. Note that I'm not after a CL based http
> server, but rather just a library which supports interaction with an
> http server.
If it is just a trivial use of HTTP, there is .... TRIVIAL-HTTP
(http://www.cliki.net/TRIVIAL-HTTP), which as the name suggests, doesn't
support much beyond grabbing a file,
If that's not enough for your needs, portable-aserve comes with
NET.ASERVE.CLIENT, which i've used in the past (see a paste here:
http://paste.lisp.org/display/5833), and as about as capable an HTTP
library as i've found.
> I'm hoping there is something suitable. While it probably wouldn't be
> too difficult to implement basic protocol support, I'm hoping someone
> has already dealt with the implementation differences re: socket
> handling etc.
TRIVIAL-HTTP uses TRIVIAL-SOCKETS, which, as the name suggests, doesn't
support much beyond basic socket capablities.
NET.ASERVE.CLIENT, on the other hand, uses ACL-COMPAT, which includes a
fairly complete multi-implementation socket compatability thingie, based
on the Allegro interface.
drewc
>
> TIA
>
> Tim
>
--
Drew Crampsie
drewc at tech dot coop
"... the most advanced use of lisp in the field of bass lure sales"
-- Xach on #lisp
drewc <·····@rift.com> writes:
> Tim X wrote:
> > Hi All,
> > I wanted to ask if anyone can recommend a CL library for retrieving
> > files using the http protocol. Note that I'm not after a CL based http
> > server, but rather just a library which supports interaction with an
> > http server.
>
> If it is just a trivial use of HTTP, there is .... TRIVIAL-HTTP
> (http://www.cliki.net/TRIVIAL-HTTP), which as the name suggests,
> doesn't support much beyond grabbing a file,
>
> If that's not enough for your needs, portable-aserve comes with
> NET.ASERVE.CLIENT, which i've used in the past (see a paste here:
> http://paste.lisp.org/display/5833), and as about as capable an HTTP
> library as i've found.
>
> > I'm hoping there is something suitable. While it probably wouldn't be
> > too difficult to implement basic protocol support, I'm hoping someone
> > has already dealt with the implementation differences re: socket
> > handling etc.
>
> TRIVIAL-HTTP uses TRIVIAL-SOCKETS, which, as the name suggests,
> doesn't support much beyond basic socket capablities.
>
> NET.ASERVE.CLIENT, on the other hand, uses ACL-COMPAT, which includes
> a fairly complete multi-implementation socket compatability thingie,
> based on the Allegro interface.
>
> drewc
>
thanks Drew. I was looking at and thinking about the aserv client, but
the trivial-http sounds worth checking out as I only need the basic
ability to retrieve a file.
Tim
--
Tim Cross
The e-mail address on this message is FALSE (obviously!). My real e-mail is
to a company in Australia called rapttech and my login is tcross - if you
really need to send mail, you should be able to work it out!
An alternative is to use cl-curl (http://www.cliki.net/cl-curl) which I
found more useful since it supports SSL and handles cookies and
redirects in a very straightforward manner. Since it is a (UFFI)
wrapper around libcurl it isn't a pure CL solution but it does the job
if your client can run in a unix/linux environment.