我想发出一个GET请求,它可以很好地与OkHttpClient、我的网络浏览器和poster配合使用。但是当我使用Java HTTP客户端时,我会收到响应代码451。这是我的代码:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("*Some URL*"))
.build();
HttpResponse<String> response=null;
try {
response = client.send(request, BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}System.out.println(response.body());
"451〃;就是打印的内容。为什么?
添加;"用户代理"-页眉解决了我的问题。
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("*URL*"))
.header("User-Agent", "Mozilla/5.0")
.build();