Vert.x WebClient Http 获取 returns 400

Vert.x WebClient Http Get returns 400

我有这个非常简单的 Verticle:

class PingVerticle : AbstractVerticle() {

    override fun start() {
        var options = WebClientOptions().setSsl(true).setVerifyHost(false).setTrustAll(true);
        WebClient.create(vertx, options)
                .get(443, "https://google.com", "")
                .ssl(true)
                .send { r ->
                    if(r.succeeded()) {
                        var r = r.result();
                        println(r.statusCode())
                    } else {
                        println("failed")
                    }
                }
    }
}

而且我总是得到结果 400 - 错误请求。知道我在这里做错了什么吗?..

您使用的 get 方法有 3 个参数:

  • 端口
  • 主机
  • 相对 URI

所以应该是:

webClient
 .get(443, "google.com", "")
 .ssl(true)

或者,使用 getAbs,只需:

webClient
 .getAbs("https://google.com")

问题作者更新: 请阅读此答案下的讨论以了解全貌。尽管答案是有道理的,但由于这个问题可能表述不当,这个答案并没有完全解决它,但它下面的评论可能。