温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HTTP超文本java如何收发

发布时间:2026-09-10 22:47:54 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

你问的应该是 “在 Java 中如何进行 HTTP 通信(发送请求、接收响应)”,下面用通俗 + 示例方式说明。


一、Java 发送/接收 HTTP 的常见方式

✅ 1. Java 11+ 原生方式(推荐)

使用 java.net.http.HttpClient

发送 GET 请求

import java.net.URI;
import java.net.http.*;

public class HttpDemo {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://example.com"))
                .build();

        HttpResponse<String> response =
                client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

发送 POST 请求(JSON 示例)

HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://example.com/api"))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(
                "{\"name\":\"张三\"}"))
        .build();

HttpResponse<String> response =
        client.send(request, HttpResponse.BodyHandlers.ofString());

✅ 2. 老项目常用:HttpURLConnection

URL url = new URL("https://example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");

BufferedReader br = new BufferedReader(
        new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}

缺点:代码繁琐,已不推荐新项目使用


✅ 3. 第三方库(最常用)

✅ OkHttp

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
        .url("https://example.com")
        .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

✅ Apache HttpClient

适合企业级系统,但代码偏重。


二、接收 HTTP 请求(Java 作为服务器)

✅ Spring Boot 示例

@RestController
public class DemoController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello HTTP";
    }

    @PostMapping("/user")
    public String user(@RequestBody Map<String, Object> body) {
        return "收到数据:" + body;
    }
}

三、总结一句话

  • Java 发 HTTP:HttpClient / OkHttp / HttpURLConnection
  • Java 收 HTTP:Spring Boot / Servlet
  • 推荐:
    • 客户端:Java 11+ HttpClient 或 OkHttp
    • 服务端:Spring Boot

如果你是指 “HTTP 超文本(HTML)怎么解析/处理”,也可以继续问我。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手