在 Java 中编写和发送 HTTP 请求
要利用 Java 中 HTTP 请求的强大功能,您可以使用 java.net.HttpUrlConnection班级。它提供了一个全面的 API,用于创建 HTTP 请求并将其分派到任何 Web 服务器。
创建连接
要建立连接,您将创建一个 URL 对象并使用它来建立 HttpUrlConnection 连接。指定请求方法(例如 POST、GET)并设置必要的标头,例如 Content-Type 和 Content-Length。
准备 HTTP 请求
对于POST 请求,将请求参数格式化为查询字符串(例如“name=John&age=30”)。使用 DataOutputStream 将参数写入输出流。
发送请求
请求准备好后,使用 DataOutputStream.writeBytes() 发送请求,以传输请求正文。 Web 服务器将响应请求的资源。
接收响应
InputStream 用于从服务器检索响应。使用 BufferedReader 逐行读取响应并构建最终响应正文。
示例代码
以下代码片段展示了如何使用以下命令执行 HTTP POST 请求上述技术:
import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.io.OutputStreamWriter; import java.io.IOException; public static void sendHttpRequest() throws IOException { // Create the connection URL url = new URL("http://example.com/"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // Build the request parameters String postData = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode("John", "UTF-8"); // Send the request OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream()); writer.write(postData); writer.flush(); // Get the response int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } connection.disconnect(); }
通过执行以下步骤并利用 HttpUrlConnection 类,您可以在您的 Java 应用程序中轻松编写和传输 HTTP 请求。
以上是如何在 Java 中使用'HttpUrlConnection”发送 HTTP 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!