Created
November 8, 2014 11:20
-
-
Save nobuoka/30fb2519cfadfeecff61 to your computer and use it in GitHub Desktop.
google-http-java-client を使用するサンプルコード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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