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();