You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用HttpRequest为Java HTTP请求添加多个header

Java HttpRequest构建器添加多个Header的使用方法

HttpRequest.Builder的headers()方法接收可变长度的键值对参数,按「Header名, Header值」的顺序依次传入即可添加多个请求头。

补全后的示例代码如下:

HttpRequest request = HttpRequest.newBuilder()
        .POST()
        // 按 头名1, 头值1, 头名2, 头值2 的顺序依次传入即可
        .headers("Content-Type", "application/json",
                 "Authorization", "Bearer your_token_here",
                 "User-Agent", "YourApp/1.0",
                 "Accept", "*/*")
        .uri(getUrl())
        .build();

如果你的请求头已经提前存储在Map集合中,可以按如下方式转换后传入:

// 示例提前定义的Header集合
Map<String, String> headerMap = new HashMap<>();
headerMap.put("Content-Type", "application/json");
headerMap.put("Authorization", "Bearer your_token_here");

// 转换为headers方法要求的键值对数组格式
String[] headerArray = headerMap.entrySet().stream()
        .flatMap(entry -> Stream.of(entry.getKey(), entry.getValue()))
        .toArray(String[]::new);

HttpRequest request = HttpRequest.newBuilder()
        .POST()
        .headers(headerArray)
        .uri(getUrl())
        .build();

注意事项

  • 同一个Header名可以多次传入,会自动添加为多值Header,不会覆盖已有值
  • Header名称不能包含:或空格,所有键值参数不能为null,否则会抛出IllegalArgumentException

内容的提问来源于stack exchange,提问作者med talel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 14:36:05