gpt4 book ai didi

java - Jetty 9 - 如何使用 Jetty 9 设置 "request content"和 "request headers"?

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:05 25 4
gpt4 key购买 nike

我使用 Jetty 7 的 ContentExchange 类来设置 URL、 header 和 requestContent。

以下是我使用 Jetty 7 得到的结果。

    HttpClient client = new HttpClient();
client.start();
ContentExchange exchange = new ContentExchange();
exchange.setURL(url);
exchange.setRequestHeader("Content-Type", "application/xml");
exchange.setRequestHeader("Authorization", "Basic " + this.getAuthenticatonString());
exchange.setMethod("POST");

final AbstractBuffer cb = new ByteArrayBuffer(xml.getBytes("UTF-8"));
exchange.setRequestContent(cb);

client.send(exchange);
exchange.waitForDone();


Jetty 9 没有 ContentExchange 类,但经过一番研究后我有了这个

HttpClient client = new HttpClient();
client
.POST(url)
.send()


我想我可以使用 client.param 来设置请求 header ,但我不太确定。

所以我的问题是如何使用 Jetty 9 设置“请求内容”和“请求 header ”?

最佳答案

除了上述答案之外,

我正在使用 Jetty 11 Http Client,并意识到 req.header 在最新版本中已被弃用。 (11.0.5)。

因此,我必须找到一种使用 Jetty Http Client 11 发送身份验证 header 的方法。

我就是这样做的。注意第 4 行。

    httpClient.start();
URI uri = UriBuilder.fromUri(URI.create(ENDPOINT)).path("v1/testPath").queryParam("testParam","testValue").build();
InputStreamResponseListener listener = new InputStreamResponseListener(); //Required for large responses only
httpClient.newRequest(uri).method(HttpMethod.GET).headers(httpFields -> httpFields.add("Authorization","Bearer "+token)).send(listener);
Response response = listener.get(20, TimeUnit.SECONDS);
if(response.getStatus() == 200){
//doSomething.
}

关于java - Jetty 9 - 如何使用 Jetty 9 设置 "request content"和 "request headers"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24920302/

25 4 0
文章推荐: c++ - 使用字符数组反转字符串
文章推荐: html - 你能用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com