JavaのHTTP通信のサンプルです。
HttpURLConnectionクラスを使用しています。
HttpURLConnectionクラス
- HTTPの機能をサポートするクラスです。
- 以下はJava8 API仕様のHttpURLConnectionクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/net/HttpURLConnection.html
コード
18,19行目と31,32行目のコメントを切り換えることでGETまたはPOSTの通信ができます。
http://httpbin.org/は、通信系のテストができるサイトです。
http://httpbin.org/
package test1;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.lang.StringBuilder;
/**
* HttpURLConnectionのサンプル
*/
class Sample {
void runSample() {
String strUrl = "http://httpbin.org/get";
// String strUrl = "http://httpbin.org/post";
HttpURLConnection urlConn = null;
InputStream in = null;
BufferedReader reader = null;
try {
//接続するURLを指定する
URL url = new URL(strUrl);
//コネクションを取得する
urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestMethod("GET");
// urlConn.setRequestMethod("POST");
urlConn.connect();
int status = urlConn.getResponseCode();
System.out.println("HTTPステータス:" + status);
if (status == HttpURLConnection.HTTP_OK) {
in = urlConn.getInputStream();
reader = new BufferedReader(new InputStreamReader(in));
StringBuilder output = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
output.append(line);
}
System.out.println(output.toString());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (urlConn != null) {
urlConn.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public class Test1 {
public static void main(String[] args) {
Sample s = new Sample();
s.runSample();
}
}
関連の記事
Java HTTP通信のサンプル(HttpClient)
Java ソケット通信のサンプル
Java JacksonでJSONとオブジェクトを変換