首页 >Java >java教程 >如何使用 HttpUrlConnection 在 Java 中编写和发送 HTTP 请求?

如何使用 HttpUrlConnection 在 Java 中编写和发送 HTTP 请求?

Barbara Streisand
Barbara Streisand原创
2024-12-30 11:16:09245浏览

How to Compose and Send HTTP Requests in Java using HttpUrlConnection?

Java 中的 HTTP 请求组合

在 Java 中,组合和发送 HTTP 请求涉及使用 java.net.HttpUrlConnection 类。

要构造 HTTP 请求,请遵循以下步骤步骤:

  • 建立连接: 创建代表目标 Web 服务器的 URL 对象并建立 HttpURLConnection 实例。
  • 配置标头: 设置 HTTP 标头,例如“Content-Type”和“Content-Length”以指定请求的内容类型和长度。
  • 启用输出: 将 setDoOutput 属性设置为 true 以允许输出到连接。

发送请求:

  • 写入请求:使用DataOutputStream将请求参数写入连接的输出流。
  • 获取响应:通过从连接打开 InputStream 并逐行读取响应来检索服务器的响应。

这是一个示例使用 HttpUrlConnection 发送 POST 请求:

public static String executePost(String targetURL, String urlParameters) {
  // Create connection and set headers
  HttpURLConnection connection = (HttpURLConnection) new URL(targetURL).openConnection();
  connection.setRequestMethod("POST");
  connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));

  // Enable output and write request
  connection.setDoOutput(true);
  DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
  wr.writeBytes(urlParameters);
  wr.close();

  // Get response
  BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  StringBuilder response = new StringBuilder();
  String line;
  while ((line = rd.readLine()) != null) {
    response.append(line);
    response.append('\r');
  }
  rd.close();

  return response.toString();
}

以上是如何使用 HttpUrlConnection 在 Java 中编写和发送 HTTP 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn