Access any resource on the web via HTTP

The Google HTTP Client Library for Java is designed to work with any HTTP service on the web, not just with Google APIs. The library has the following features:

  • Pluggable HTTP transport abstraction so you can use any low-level library such as java.net.HttpURLConnection, Apache HttpClient, or URL Fetch on Google App Engine.
  • Efficient JSON and XML data models for parsing and serialization of HTTP content. The JSON and XML libraries are also fully pluggable, and they include support for Jackson and Android's GSON libraries for JSON.

This is an open-source library, and you can access the source on GitHub. Contributions are welcome.

The HTTP library supports Java 5 (or higher) standard (SE) and enterprise (EE), Android 1.5 (or higher), and Google App Engine.

The following related projects are built on the Google HTTP Client Library for Java:

Beta features

Features marked with the @Beta annotation at the class or method level are subject to change. They might be modified in any way, or even removed, in any major release. You should not use beta features if your code is a library itself (that is, if your code is used on the CLASSPATH of users outside your own control).

Deprecated features

Deprecated non-beta features will be removed eighteen months after the release in which they are first deprecated. You must fix your usages before this time. If you don't, any type of breakage might result, and you are not guaranteed a compilation error.