java 11 原生HttpClient 发送reques get,附加header

该代码示例展示了如何在Java11中使用内置的HttpClient发送GET请求到指定URL,同时附加自定义的Header,如X-Caller-Service,X-Caller-Timestamp和X-Caller-Sign。程序还包含了输入处理、时间戳生成以及异常堆栈跟踪。
摘要由CSDN通过智能技术生成

java 11 原生HttpClient 发送reques get,附加header


public static void main(String[] args) {
        String timeStamp = System.currentTimeMillis() + "";
        System.out.println("Please input mobile number:");
        Scanner sc = new Scanner(System.in);
        String mobile = sc.next();
        String CallerService = "1234";
        String sing = "abcd";
        String url = "http://************/list";

        Map<String, String> header = new HashMap<>();
        header.put("X-Caller-Service", CallerService);
        header.put("X-Caller-Timestamp", timeStamp);
        header.put("X-Caller-Sign", sing);
        a123 a = new a123();
        try {
            long start = System.currentTimeMillis();
            String response = a.sendGet(url + "?memberType=CA&mobile=" + mobile, header);
            long end = System.currentTimeMillis();
            System.out.println("Query time:" + String.valueOf(end - start) + "ms");
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    private String sendGet(String url, Map<String, String> header) throws Exception {
        HttpRequest request = HttpRequest.newBuilder()
                .GET()
                .uri(URI.create(url))
                .setHeader("X-Caller-Service", header.get("X-Caller-Service"))
                .setHeader("X-Caller-Timestamp", header.get("X-Caller-Timestamp"))
                .setHeader("X-Caller-Sign", header.get("X-Caller-Sign"))
                .build();
        System.out.println("request URL:" + url);
        System.out.println("Header:" + header);
        HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println("request status:" + response.statusCode());
        return response.body();
    }
private final HttpClient httpClient = HttpClient.newBuilder()
            .version(HttpClient.Version.HTTP_2)
            .build();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值