gpt4 book ai didi

java - CURL 和 JAVA 错误

转载 作者:行者123 更新时间:2023-11-30 07:17:05 24 4
gpt4 key购买 nike

我想编写一个 CURL Webservice使用 Java 的客户端,但它不起作用。

我想成为这个的客户

curl "https://api.esios.ree.es/archives" -X GET \
-H "Accept: application/json; application/vnd.esios-api-v1+json" \
-H "Content-Type: application/json" \
-H "Host: api.esios.ree.es" \
-H "Authorization: Token token=\"96c56fcd69dd5c29f569ab3ea9298b37151a1ee488a1830d353babad3ec90fd7\"" \
-H "Cookie: "

我使用 com.sun.jersey.api.client.Client 和 ClientResponse 制作了一个小程序,但失败了。例子是这样的:

Client client = Client.create();
WebResource webResource =client.resource("https://api.esios.ree.es/archive");
MultivaluedMap queryParams = new MultivaluedMapImpl();
queryParams.add("Accept", "application/json; application/vnd.esios-api-v1+json");
queryParams.add("Content-Type", "application/json");
queryParams.add("Host", "api.esios.ree.es");
queryParams.add("Authorization", "Token token=\"96c56fcd69dd5c29f569ab3ea9298b37151a1ee488a1830d353babad3ec90fd7\"");
queryParams.add("Cookie", " ");
ClientResponse response = webResource.queryParams(queryParams).accept("application/json").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}

代码响应失败:HTTP 错误代码:401。非常感谢您尝试帮助我。

最佳答案

您需要将这些值作为 header 而不是查询参数发送。

ClientResponse response = webResource.header("Accept", "application/json; application/vnd.esios-api-v1+json")
.header("Content-Type", "application/json")
.header("Host", "api.esios.ree.es")
.header("Authorization", "Token token=\"TOKEN\"")
.header("Cookie", " ")
.get(ClientResponse.class);

我删除了accept()方法,因为我们使用header()方法设置它。

正如 Ruslan 所指出的,检查您是否正在调用正确的端点。

关于java - CURL 和 JAVA 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38197281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com