Java HTTP Client

Hmmmmmm... An HTTP client comes built into Java. Yet you are here...

Could it be:

  • you need pipelining for high performance applications?
  • you need HTTP NTLM (including V2) client authentication support to communicate with Windows Servers (possibly for Apache Axis, Apache Axis2, SOAP or XML-RPC)?
  • you are experiencing dropped connections and lost messages?
  • you need to use WebDAV methods?
  • you have trouble with connections being closed by the server?
  • you need timeouts for connection establishment and request responses?
  • you need tracing to see what's going on?
  • you need better performance in handling long messages?
  • you have run into other bugs in the HTTP client that Sun has not fixed?
  • you have different behavior in the different HTTP clients by the application server vendors?

Its no wonder that some of the major application server vendors have their own HTTP client (IBM, BEA). But they still have problems, and none of them support NTLM client authentication.

If you have issues with NTLM (or NTLM V2) or Integrated Windows Authentication, this paper might help you decide which choice is best for you.

Compare the features of the available HTTP clients.

The Oakland Software Java HTTP client:

  • is the only HTTP client that supports pipelining and direct socket access to the connection which are required for maximum performance in high volume applications (non-blocking I/O is coming soon).
  • is completely plug compatible with the java.net.HttpURLConnection class. It is fully contained in one JAR file with no dependencies, and can be installed by setting a single property.
  • is also fully supported; you will get fast answers to your questions, and bugs will be fixed, usually within a day or two. A source license for the HTTP client is also available.

You can evaluate the Java HTTP client free for up to 30 days.