你问的应该是 “在 Java 中如何进行 HTTP 通信(发送请求、接收响应)”,下面用通俗 + 示例方式说明。
使用 java.net.http.HttpClient
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());
}
}
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());
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);
}
缺点:代码繁琐,已不推荐新项目使用
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());
适合企业级系统,但代码偏重。
@RestController
public class DemoController {
@GetMapping("/hello")
public String hello() {
return "Hello HTTP";
}
@PostMapping("/user")
public String user(@RequestBody Map<String, Object> body) {
return "收到数据:" + body;
}
}
HttpClient / OkHttp / HttpURLConnection如果你是指 “HTTP 超文本(HTML)怎么解析/处理”,也可以继续问我。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。