javaでbitflyer apiを使ってみた
javaでbitflyerのPublic APIを使ってみたのでメモ。
BTC_JPYのTicker情報を取得して表示しているだけですが。
URLのproduct_code=BTC_JPYのBTC_JPYを書き換えると、他の通貨の情報も取れます。
User-Agentを指定しないと、なぜか403エラーになるので、Dummyを設定しています。
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class GetTicker { public static void main(String[] args) { String getTickerUrlStr ="https://api.bitflyer.jp/v1/getticker?product_code=BTC_JPY"; HttpURLConnection connection = null; StringBuffer result = new StringBuffer(); try { URL getTickerUrl = new URL(getTickerUrlStr); connection = (HttpURLConnection)getTickerUrl.openConnection(); connection.setRequestProperty("User-Agent", "Dummy"); connection.setRequestMethod("GET"); int status = connection.getResponseCode(); if (status == HttpURLConnection.HTTP_OK) { InputStream in = connection.getInputStream(); String encoding = connection.getContentEncoding(); if(encoding == null) {encoding = "UTF-8";} InputStreamReader inReader = new InputStreamReader(in, encoding); BufferedReader bufReader = new BufferedReader(inReader); String line =null; while((line = bufReader.readLine()) != null) { result.append(line); } bufReader.close(); inReader.close(); in.close(); }else{ System.out.println(status); InputStream in = connection.getErrorStream(); String encoding = connection.getContentEncoding(); if(encoding == null) {encoding = "UTF-8";} InputStreamReader inReader = new InputStreamReader(in, encoding); BufferedReader bufReader = new BufferedReader(inReader); String line =null; while((line = bufReader.readLine()) != null) { result.append(line); } bufReader.close(); inReader.close(); in.close(); } }catch (Exception e) { e.printStackTrace(); }finally { if (connection != null) { connection.disconnect(); } } System.out.println(result); } }