HTTP请求与响应:使用Java发送GET/POST请求

原创 男娘i 2024-09-12 09:00 151阅读 0赞

在Java中,我们可以使用各种库来发送HTTP GET或POST请求。这里我将展示如何使用Java的HttpURLConnection和OkHttp库进行操作。

  1. HttpURLConnection (推荐旧版本)
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.net.HttpURLConnection;
  4. import java.net.URL;
  5. public class HttpURLConnectionExample {
  6. public static void main(String[] args) throws Exception {
  7. // 创建URL对象
  8. URL url = new URL("http://example.com/");
  9. // 创建HttpURLConnection连接
  10. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  11. // 设置请求方法
  12. connection.setRequestMethod("GET"); // 或 POST
  13. // 如果是POST,需要设置请求参数
  14. if ("POST".equals(connection.getRequestMethod()))) {
  15. connection.setDoOutput(true);
  16. String data = "key1=value1&key2=value2"; // 需要替换为实际内容
  17. byte[] inputBytes = data.getBytes("UTF-8"); // 注意这里需要转换字符编码
  18. connection.getOutputStream().write(inputBytes);
  19. }
  20. // 获取响应状态码
  21. int responseCode = connection.getResponseCode();
  22. System.out.println("Response Code: " + responseCode);
  23. // 读取响应数据(如果是GET,不需要写这行)
  24. BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())));
  25. String responseLine;
  26. while ((responseLine = reader.readLine()) != null)) {
  27. System.out.println(responseLine);
  28. }
  29. // 关闭连接
  30. connection.disconnect();
  31. }
  32. }
  1. OkHttp (推荐新版本)
  1. import okhttp3.*;
  2. public class OkHttpExample {
  3. public static void main(String[] args) throws Exception {
  4. // 创建OkHttpClient对象
  5. OkHttpClient client = new OkHttpClient();
  6. // 发送GET请求
  7. Request requestGet = new Request.Builder()
  8. .url("http://example.com/"))
  9. .build();
  10. Response responseGet = client.newCall(requestGet).execute();
  11. System.out.println("Response Get Code: " + responseGet.code());
  12. // 发送POST请求(这里假设数据以JSON格式发送)
  13. Request requestPostJson = new Request.Builder()
  14. .url("http://example.com/post/"))
  15. .post(new FormBody.Builder()
  16. .add("key1", "value1")
  17. .add("key2", "value2")
  18. .build()))
  19. .build();
  20. Response responsePostJson = client.newCall(requestPostJson).execute();
  21. System.out.println("Response Post Json Code: " + responsePostJson.code());
  22. // 关闭OkHttpClient连接
  23. client.close();
  24. }
  25. }

选择哪个库,主要取决于你的项目需求和个人偏好。如果你是新项目或者对OkHttp更熟悉,那么使用OkHttp会更加高效和简洁。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,151人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Http请求响应

    HTTP 什么是http? http是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定多数用户而制订的协议。也就是说,可以把http看作是旨在向不特定

    相关 http请求响应

    HTTP相关知识 HTTP请求 HTTP响应 HTTP相关知识 HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的