在 Java 里“加 HTTP 请求头”取决于你用的是什么方式发请求。下面给你几种常见场景和写法,直接对照用就行。
HttpURLConnection(JDK 原生)URL url = new URL("https://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 加请求头
conn.setRequestProperty("Authorization", "Bearer token123");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestMethod("GET");
conn.connect();
✅ 适合:简单请求、不引入第三方库
HttpClient(Java 11+ 推荐)HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/api"))
.header("Authorization", "Bearer token123")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
✅ 适合:现代 Java 项目(推荐)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://example.com/api")
.addHeader("Authorization", "Bearer token123")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
✅ 适合:Android / 网络请求频繁项目
RestTemplateHttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer token123");
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response =
restTemplate.exchange(
"https://example.com/api",
HttpMethod.GET,
entity,
String.class
);
WebClient(响应式)WebClient client = WebClient.builder().build();
client.get()
.uri("https://example.com/api")
.header("Authorization", "Bearer token123")
.retrieve()
.bodyToMono(String.class)
.block();
Authorization: Bearer xxx
Content-Type: application/json
Accept: application/json
User-Agent: MyApp/1.0
如果你告诉我:
我可以直接给你最合适的完整代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。