URLConnectionクラス
HTTP通信を実行する – URLConnectionクラス- URL(String spec)
- URL(String protocol, String host, int port, String file)
- spec:URL文字列
- protocol:プロトコル名
- host:ホスト名
- port:ポート番号
- file:ファイル名
URLConnectionクラス(java.netパッケージ)を利用することで、HTTP経由でWebページにアクセスできます。URLConnetionオブジェクトは、URL#openConnectionメソッドで取得できます。
URLConnectionクラスで利用できる主なメソッドは、以下の通りです。
| URLConnectionクラスの主なメソッド | |
|---|---|
| メソッド | 概要 |
| void connect() | 現在のURLに対して接続 |
| int getConnectTimeout() | 接続タイムアウト時間を取得 |
| Object getContent() | コンテンツを取得 |
| String getContentEncoding() | content-encodingヘッダーの値を取得 |
| int getContentLength() | content-lengthヘッダーの値を取得 |
| String getContentType() | content-typeヘッダーの値を取得 |
| long getDate() | dateヘッダーの値を取得 |
| String getHeaderField(String name) | 指定されたヘッダーの値を取得 |
| long getHeaderFieldDate(String name, long Default) | 指定されたヘッダーを日付として解析した値を取得 |
| int getHeaderFieldInt(String name, int Default) | 指定されたヘッダーを数値として解析した値を取得 |
| InputStream getInputStream() | 現在の接続を読み込む入力ストリームを取得 |
| OutputStream getOutputStream() | 現在の接続に書き込む出力ストリームを取得 |
| void setConnectTimeout(int timeout) | 接続タイムアウト時間を設定 |
たとえば以下では、指定されたURLからコンテンツを取得し、その内容を標準出力に書き出す例です。
UrlConnect.java
package com.example.mynavi.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class UrlConnect {
public static void main(String[] args) {
try {
URL url = new URL("http:⁄⁄example.com/");
URLConnection con = url.openConnection();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(con.getInputStream(), "Windows-31J"))) {
while (reader.ready()) {
System.out.println(reader.readLine());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
<!doctype html> <html> <head> <title>Example Domain</title> ...後略...
URLConnection#getInputStreamメソッドで入力ストリームを取得できたら、あとはストリームの操作手順に従って、入力を読み込むだけです。詳しくは「ストリーム」の節も合わせて参照してください。






