JavaでのHttpURLConnectionの使い方は?
JavaでHttpURLConnectionを使用してHTTPリクエストを送信する手順は次の通りです:
- URLアドレスを指定して、URLオブジェクトを作成します。
- 接続を開く()
- URLConnectionをHttpURLConnectionオブジェクトにキャストする必要がある。なぜなら、それはURLConnectionのサブクラスだからです。
- リクエストメソッドを設定する。
- setRequestProperty()を使用してください。
- 入力を許可するように設定します。
- 出力を設定する(setDoOutput())
- 接続します。
- リクエストボディを送信する必要があれば、出力ストリームを取得してリクエストボディデータを書き込むことができます。
- レスポンスコードを取得する。
- ステータスコードが200の場合、リクエストは成功し、レスポンスデータを取得できます。
- InputStreamを取得する
- バッファ付きリーダー
- 接続を切る (setsuzoku wo kiru)
以下是一個簡單的範例程式碼:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpURLConnectionExample {
public static void main(String[] args) {
try {
// 创建URL对象
URL url = new URL("http://example.com");
// 打开URL连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法
connection.setRequestMethod("GET");
// 设置请求头信息
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
// 发送请求
connection.connect();
// 获取响应状态码
int statusCode = connection.getResponseCode();
// 判断是否请求成功
if (statusCode == HttpURLConnection.HTTP_OK) {
// 获取响应输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
// 读取响应数据
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 输出响应数据
System.out.println(response.toString());
} else {
System.out.println("请求失败,状态码:" + statusCode);
}
// 关闭连接
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意:上記の例ではURLアドレスはサンプルです。実際に使用する際は、実際のURLアドレスに置き換えてください。