GNU inetlib

inetlib is a collection of Internet client libraries that facilitate the development of client-side Java network programming. It implements the parsing and construction of responses and requests for a number of common Internet protocols.

Each Internet protocol is assigned to its own package. If a protocol describes resources that can be retrieved via a URL, a standard Java URLStreamHandler is also provided for that protocol. However, the intent of this library is to be able to provide all the bells, whistles, optimizations, additional features and other goodness by addressing the protocol at the lowest feasible level rather than at a level of abstraction that takes a lot of this control away from the developer.

The following protocols are supported:

HTTP/1.1
RFC 2616
FTP
RFC 959
SMTP
RFC 2821
IMAP4rev1
RFCs 3501, 4315 (UIDPLUS extension), 2087 (QUOTA extension), 4314 (ACL extension)
POP3
RFC 1939
NNTP
RFCs 977, 2980 (Common Extensions)
LDAP
RFC 4511
and also some protocols of mainly historical value like Gopher and comsat.

Documentation

The full API documentation is available here.

History and community

inetlib was developed by Chris Burdess from 2002, and the copyright is held by the Free Software Foundation. It forms part of the GNU classpathx project. To get involved, please sign up at the Savannah page.