gpt4 book ai didi

java - Java 中的 HTTP PATCH 请求

转载 作者:行者123 更新时间:2023-12-01 21:19:04 26 4
gpt4 key购买 nike

我正在尝试用 Java 发出 HTTP PATCH 请求,但尽管我付出了努力,但这仍然不起作用。我正在尝试修补 Json,这是我的代码:

    HttpResponse response = null;
BufferedReader rd = null;
StringBuffer result = new StringBuffer();
String line = "";

HttpClient httpclient = HttpClients.createDefault();
HttpPatch httpPatch = new HttpPatch("http://myURL");

JsonArrayBuilder Abuilder = Json.createArrayBuilder();
JsonObjectBuilder oBuilder = Json.createObjectBuilder();
for(int i=0;i<48;i++){
Abuilder.add(i+1);
}
oBuilder.add("date", "2016-09-08");
oBuilder.add("values",Abuilder);

JsonObject jo = Json.createObjectBuilder().add("puissance", Json.createObjectBuilder().add("curves",Json.createArrayBuilder().add(oBuilder))).build();

try{
//Execute and get the response.

StringEntity params =new StringEntity(jo.toString());

params.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPatch.setEntity(params);

response = httpclient.execute(httpPatch);

System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
while ((line = rd.readLine()) != null) {
System.out.println(line);
result.append(line);
}

}catch(Exception e){

}

当我执行这个请求时,我得到一个

"400 Error: The request has an invalid header name".

当我使用 Postman 执行此请求时,效果很好。

我对 HTTP 请求还很陌生,所以如果您需要更多详细信息,请随时询问。

最佳答案

StringEntity.setContentEncoding用于设置编码类型

您应该使用StringEntity.setContentType来设置ContentType

关于java - Java 中的 HTTP PATCH 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465798/

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