为什么只有在使用Java HTTP客户端时才能获得HTTP响应状态代码451



我想发出一个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();

最新更新