Skip to content

Instantly share code, notes, and snippets.

@nobuoka
Created November 8, 2014 11:20
Show Gist options
  • Save nobuoka/30fb2519cfadfeecff61 to your computer and use it in GitHub Desktop.
Save nobuoka/30fb2519cfadfeecff61 to your computer and use it in GitHub Desktop.
google-http-java-client を使用するサンプルコード
import java.io.IOException;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
public class GoogleHttpJavaClientExample {
public static void main(String[] args) throws IOException {
// 抽象化された HTTP トランスポート。 スレッドセーフ。 アプリケーション中で 1 つのインスタンスを使うのが望ましいらしい。
// 実装は複数あるので、別の実装を使っても良い。
// See: http://javadoc.google-http-java-client.googlecode.com/hg/1.19.0/com/google/api/client/http/HttpTransport.html
HttpTransport httpTransport = new NetHttpTransport();
try {
// HTTP トランスポートの上にのったスレッドセーフで軽量な HTTP リクエストのファクトリ。
// オプションで HTTP リクエストの初期化子を持つことができる。
// See: http://javadoc.google-http-java-client.googlecode.com/hg/1.19.0/com/google/api/client/http/HttpRequestFactory.html
HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
GenericUrl url = new GenericUrl("http://www.example.com/");
HttpRequest req = requestFactory.buildGetRequest(url);
HttpResponse res = req.execute();
try {
// デフォルト設定ではエラーレスポンスの場合に execute の中で例外が投げられるので、ここに来るのは成功レスポンスの場合のみ。
System.out.println(res.getStatusCode());
System.out.println(res.getContentType());
System.out.println(res.parseAsString());
} finally {
res.disconnect();
}
} finally {
// NetHttpTransport を使う場合は shutdown メソッドの中でなにも実行されないはずだが一応呼んでおく。
httpTransport.shutdown();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment