2017-02-08 6 views
1

vertx HttpClientに問題があります。 ここでは、vertexとplain javaを使ったテストを示しています。 getHTML()はここからですVertx HttpClient getNowが機能しない

Vertx vertx = Vertx.vertx(); 
    HttpClientOptions options = new HttpClientOptions() 
      .setTrustAll(true) 
      .setSsl(false) 
      .setDefaultPort(80) 
      .setProtocolVersion(HttpVersion.HTTP_1_1) 
      .setLogActivity(true); 
    HttpClient client = vertx.createHttpClient(options); 

    client.getNow("google.com", "/", response -> { 
     System.out.println("Received response with status code " + response.statusCode()); 
    }); 
    System.out.println(getHTML("http://google.com")); 

How do I do a HTTP GET in Java?

これは私の出力である:

<!doctype html><html... etc <- correct output from plain java 
Feb 08, 2017 11:31:21 AM io.vertx.core.http.impl.HttpClientRequestImpl 
SEVERE: java.net.UnknownHostException: failed to resolve 'google.com'.  Exceeded max queries per resolve 3 

しかしVERTXを接続することはできません。ここで何が間違っていますか?私はプロキシを使用していません。

+1

https://github.com/eclipse/vert.x/issues/1753に関連する可能性があります。 Vert.x 3.4.0.Beta1で試してみませんか?そのバージョンで修正する必要があります。また、 '-Dvertx.disableDnsResolver = true'でJVMリゾルバにフォールバックできます。 – tsegismont

+0

私は3.3.3と3.4.0.Beta1の両方を試しましたが、動作しません。 このjvmパラメータをチェックします。 –

+1

-Dvertx.disableDnsResolver = true works :) この質問にお答えください(私は同意します)。 –

答えて

0

私のために働くサンプルコードはここにあります。

public class TemplVerticle extends HttpVerticle { 

public static void main(String[] args) { 
    Vertx vertx = Vertx.vertx(); 

    // Create the web client and enable SSL/TLS with a trust store 
    WebClient client = WebClient.create(vertx, 
      new WebClientOptions() 
        .setSsl(true) 
        .setTrustAll(true) 
        .setDefaultPort(443) 
        .setKeepAlive(true) 
        .setDefaultHost("www.w3schools.com") 

    ); 


    client.get("www.w3schools.com") 

      .as(BodyCodec.string()) 
      .send(ar -> { 
       if (ar.succeeded()) { 
        HttpResponse<String> response = ar.result(); 
        System.out.println("Got HTTP response body"); 
        System.out.println(response.body().toString()); 

       } else { 
        ar.cause().printStackTrace(); 
       } 
      }); 
} 

}

関連する問題