gpt4 book ai didi

java - 在 vertx 上使用 httpclient 时出错

转载 作者:行者123 更新时间:2023-11-30 06:51:18 25 4
gpt4 key购买 nike

您好,我正在尝试使用下面的代码对远程资源执行休息调用。在 vertx 3.3.3 上,它与 defaulthttpclient (appache) 一起工作,但它不是异步的

我仍然得到错误:十一月01, 2016 8:15:08 AM io.vertx.core.http.impl.HttpClientRequestImpl严重:java.net.ConnectException:连接被拒绝:localhost/127.0.0.1:80

final HttpClient httpClient = vertx.createHttpClient();

final HttpGet getRequest = new HttpGet(uri);

httpClient.request(apiMethod.getHttpMethod(), uri, resultHandler -> {
resultHandler.statusCode();
if (resultHandler.statusCode() == 200) {
environment.setStatus(ApiStatus.OK);
apiMethod.setStatus(ApiStatus.OK);
} else {
environment.setStatus(ApiStatus.ERROR);
apiMethod.setStatus(ApiStatus.ERROR);
}
resultHandler.bodyHandler(buffer -> {
String message = "";
logger.debug("Output from Server .... \n");
logger.debug(buffer);
message = buffer.toString();
apiMethod.setCallingDate(new Date());
apiMethod.setCallingResult(message);
});
}).putHeader("content-type", "application/json").end();

有人能帮忙吗?

最好的问候,

最佳答案

您似乎忘记配置要连接到的主机和端口的客户端,并且它使用默认值 localhost:80,您可以从异常中读取。

你应该这样做:

httpClient.request(GET, "www.yourserver.com", 80, uri, res -> {
...
});

请注意 uri 不是 URL 所以它应该是这样的:

/api/users?from=5&to=10

如果您正在寻找更紧凑的版本,那么您应该使用 requestAbs 方法:

httpClient
.requestAbs(GET, "http://www.yourserver.com/api/users?from=5&to=10", res -> {
...
});

关于java - 在 vertx 上使用 httpclient 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40356289/

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