libwww-perl: Distribution Information

Copyright (c) 1994 Regents of the University of California.

libwww-perl is a library of Perl4 packages which provides a simple and consistent programming interface to the World-Wide Web. This library is being developed as a collaborative effort to assist the further development of useful WWW clients and tools. The library is based on version 4.036 of the Perl Programming Language.

libwww-perl is freely available as described in the Artistic License which accompanies the standard distribution. The libwww-perl software architecture and standard distribution package are copyrighted by the University of California for the sole purpose of retaining consistency and coherence in the distribution of the library. Contributions to the library are strongly encouraged and will be included in the standard distribution with full citation to the developers. See below for the list of past and current contributors.

A mailing list has been established for technical discussion about libwww-perl, including problem reports, interim fixes, suggestions for features, and contributions. The mailing list address is

     libwww-perl@ics.uci.edu
and administrivia (including subscribe requests) should be sent to
     libwww-perl-request@ics.uci.edu
A Hypermail Archive of the mailing list is also available.

A contrib directory has been established for perl source that is not (yet) part of the libwww-perl package, but which may be useful to current implementors.

Support for the initial development and distribution of libwww-perl has been provided by the Arcadia Project at UCI, part of the larger Arcadia Consortium for research in software engineering environments.

WWW Requests Currently Supported

Proxies
Full support is provided for redirecting WWW requests by protocol scheme to a proxy server via the HTTP protocol.
HTTP/1.0
All requests and responses for the Hypertext Transfer Protocol are supported.
FILE
Support for GET and HEAD requests on file://localhost URLs is provided, with results translated to HTTP responses as if they were handled by an HTTP gateway.

Tools based on libwww-perl

The following tools use libwww-perl and are available at their own distribution sites:
MOMspider
The Multi-Owner Maintenance spider created by Roy Fielding.
w3new
Extract a list of URL's from either your mosaic hotlist or from a HTML document, retrieve their Last-modified dates, and output a HTML file with the URL's sorted by their last modification time.

Contributors

Developing code to handle all the request formats and protocols present on the World-Wide Web is too big a task for any one person or organization. For that reason, the future of this library is dependent on the contributions of those who make use of it. Please send in your extensions so that we can all benefit from the effort required to make distributed information systems work.

The following developers have contributed (either directly or indirectly) to the libwww-perl distribution:

Alberto Accomazzi, Harvard-Smithsonian Center for Astrophysics, USA
Suggestions for hostname.pl
James Casey, CERN, Switzerland
Routines for processing HTML anchors
Brooks Cutter, STUFF.com, USA
Contributed wwwbot.pl, testbot, code for escaping and unescaping URLs, www'stat(), wwwmailcap.pl, and many suggestions and bug fixes.
Roy Fielding, University of California, Irvine, USA
Architect and primary developer of the library.
Martijn Koster, NEXOR Ltd., UK
Many bug fixes and part of Oscar's http.
Mel Melchner, AT&T Research, USA
Suggested changes to get to support the POST method.
Oscar Nierstrasz, University of Berne, Switzerland
Oscar's collection of useful perl scripts formed the basis on which the wwwhttp.pl and wwwhtml.pl packages were built.
Gertjan van Oosten, West Consulting bv, NL
Code for parsing WWW date formats (used in wwwdates.pl)
Jared Rhine, Harvey Mudd College, USA
Makefile/config suggestions.
Jack Shirazi, BIU, UK
Many good suggestions regarding alarms and sockets.
Gene Spafford, Purdue University, USA
MailStuff package for parsing rfc822 headers.
Marc VanHeyningen, Indiana University, USA
HTML entity stuff and part of Oscar's http.
Others
These people contributed to prior packages which influenced the development of libwww-perl: Steven E. Brenner (cgi-lib), Marion Hakanson (ctime), Waldemar Kebsch (ctime), Tony Sanders (Plexus), and Larry Wall (Perl).

The Distribution

For easy distribution, libwww-perl is available as a gzip'd tar file or as a compress'd tar file. It is also available via anonymous ftp from liege.ics.uci.edu in the directory /pub/arcadia/libwww-perl

The distribution consists of the following files:

Artistic.txt
the Artistic License.
INSTALL.txt
Installation instructions and usage information.
LWP_Changes.pl
the complete list of changes and version information.
Makefile
a Makefile for automating the initial configuration.
README.html
this document.
get
a simple program for performing WWW GET requests from the command-line. The name of the program determines what request method to be used (i.e. create a link to it called "HEAD" and you have a program that does HEAD requests). This program demonstrates the power and simplicity of the libwww-perl interface.
hostname.pl
a library for determining the fully qualified domain name for the host running libwww-perl.
mime.types
the standard MIME content-types and default filename extensions in the same format as that used by NCSA httpd_1.3 and many WWW clients.
sys_socket_ph.c
A simple C program for displaying your system's symbolic values normally found in sys/socket.ph.
testbot
a simple program for testing the wwwbot.pl package.
testdates
a simple program for testing the wwwdates.pl package.
testescapes
a simple program for testing the wwwurl'escape and unescape routines.
testlinks
a simple program for testing HTML link extraction and combinations of GET and HEAD requests.
www.pl
the primary entry point for WWW requests -- give it any absolute URL and a request method and it will try to perform the method using the URL's protocol scheme (or a proxy).
wwwbot.pl
a package for implementing the robot exclusion protocol.
wwwdates.pl
a package of library utilities for reading, manipulating, and writing dates as they are formatted by most World-Wide Web software and protocols.
wwwerror.pl
a package for defining and generating error messages for requests which did not make it outside the client program.
wwwfile.pl
a package for performing local file requests (URLs of the form file://localhost/*) and returning a response as if it came from an HTTP server.
wwwhtml.pl
a package of library utilities for reading and manipulating HTML documents.
wwwhttp.pl
a package for performing HTTP requests (URLs of the form http:*).
wwwmailcap.pl
a package of library utilities for handling MIME mailcap files and executing viewers by content-type.
wwwmime.pl
a package of library utilities for handling MIME content-types and message headers.
wwwurl.pl
a package of library utilities for parsing, composing, manipulating, and canonicalizing Uniform Resource Locators (URLs) as they are used by the World-Wide Web software and protocols.

Version History

Current version is 0.40. If you have any suggestions, bug reports, fixes, or enhancements, send them to Roy Fielding at (fielding@ics.uci.edu) or, preferably, join the libwww-perl mailing list as described above. Also, we would like to ask anyone who uses libwww-perl on a regular basis, or intends to include it as part of their own tool, to please send us an e-mail message which indicates how and where it is being used. This is, of course, only voluntary and we don't want anyone to divulge private information, but please understand that such acknowledgements allow free-software authors like us to justify the time and effort needed to build quality tools and development environments.


Please see the file Artistic.txt for complete licensing and redistribution information.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION (INCLUDING, BUT NOT LIMITED TO, LOST PROFITS) EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This work was sponsored in part by the Advanced Research Projects Agency under Grant Number MDA972-91-J-1010. This software does not necessarily reflect the position or policy of the U.S. Government and no official endorsement should be inferred. Their support is appreciated.


Roy Fielding <fielding@ics.uci.edu>
Department of Information and Computer Science,
University of California, Irvine, CA 92717-3425
Last modified: Tue Sep 20 18:13:06 1994