我的 Java 项目上的泽西客户端 REST-API 生成 HTTP 403 错误。尽管这个项目运行良好,可以调用其他 Restful API,但基于假在线的 REST API JSONPlaceholder
除外。请找到我的以下代码:
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Client client = Client.create();
WebResource webResource = client.resource("http://jsonplaceholder.typicode.com/posts");
ClientResponse response = webResource.accept("application/json")
.get(ClientResponse.class);
if(response.getStatus() != 200) {
throw new RuntimeException("Failed http error code :" + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println(output);
错误:
最佳答案
正如我在评论中提到的,在 webResource 实例的 header 中设置键 ("user-agent")
和值 ("")
可以解决问题。希望以下代码片段能给您更好的想法。
Client client = Client.create();
WebResource webResource = client.resource("http://jsonplaceholder.typicode.com/posts");
ClientResponse response = webResource.accept("application/json")
.header("user-agent", "")
.get(ClientResponse.class);
if(response.getStatus() != 200) {
throw new RuntimeException("Failed http error code :" + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println(output);
感谢大家的宝贵反馈。
关于java - Jersey 客户端 REST API 生成 http 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41043958/