このURLへの接続を開いて、 その接続から読み込むためのInputStreamを取得します。
public final InputStream openStream() throws IOExceptionopenStream - URL (Java Platform SE 7 )
指定URLのページ内容を1行ずつ読み込み、標準出力へ出力します。
try {
String spec = "http://example.com/";
java.net.URL url = new java.net.URL(spec);
java.io.InputStream inputStream = url.openStream();
java.io.InputStreamReader inputStreamReader = new java.io.InputStreamReader(inputStream);
java.io.BufferedReader bufferedReader = new java.io.BufferedReader(inputStreamReader);
String line;
while((line = bufferedReader.readLine()) != null){
System.out.println(line);
}
bufferedReader.close();
} catch (java.net.MalformedURLException e) {
e.printStackTrace();
}
catch (java.io.IOException e) {
e.printStackTrace();
}
Reading Directly from a URL (The Java™ Tutorials > Custom Networking > Working with URLs)
java.net の使用 - Google App Engine | Google Developers
java.net.URLConnection connection = url.openConnection(); java.io.InputStream inputStream = connection.getInputStream();
これによって取得できるInputStreamオブジェクトは、URL.openStream()の戻り値と同じものです。
指定URLへ指定データをapplication/x-www-form-urlencodedでPOSTし、それに対するレスポンスを標準出力へ出力します。レスポンスの出力は、前述の読み込みのサンプルコードと同じです。
try {
String spec = "http://example.com/";
java.net.URL url = new java.net.URL(spec);
java.net.URLConnection connection = url.openConnection();
// 書き込み
connection.setDoOutput(true);
java.io.OutputStream outputStream = connection.getOutputStream();
java.io.OutputStreamWriter outputStreamWriter = new java.io.OutputStreamWriter(outputStream);
outputStreamWriter.write("foo=123");
outputStreamWriter.close();
// 読み込み (レスポンスの取得)
java.io.InputStream inputStream = connection.getInputStream();
java.io.InputStreamReader inputStreamReader = new java.io.InputStreamReader(inputStream);
java.io.BufferedReader bufferedReader = new java.io.BufferedReader(inputStreamReader);
String line;
while((line = bufferedReader.readLine()) != null){
System.out.println(line);
}
bufferedReader.close();
} catch (java.net.MalformedURLException e) {
e.printStackTrace();
}
catch (java.io.IOException e) {
e.printStackTrace();
}
Reading from and Writing to a URLConnection (The Java™ Tutorials > Custom Networking > Working with URLs)
HTTP固有の機能を使用するには、URLConnectionを継承したHttpURLConnectionクラスが便利です。
try {
URL url = new URL("http://localhost/");
java.net.URLConnection connection = url.openConnection();
HttpURLConnection http = (HttpURLConnection) connection;
http.setRequestMethod("HEAD");
String h0 = http.getHeaderField(0); // HTTP/1.1 200 OK
String h1 = http.getHeaderField(1); // Sun, 01 Sep 2013 00:00:00 GMT
int responseCode = http.getResponseCode(); // 200
String responseMessage = http.getResponseMessage(); // OK
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
データの読み書きは、URLConnectionから継承したgetInputStream()やgetOutputStream()でストリームを取得して行います。これはURLConnectionクラスでの方法と同じです。