Obtenir java. net. UnknownHostException lors de l'exécution du script d'automatisation de base pour l'api Rest


Je viens d'exécuter le script ci-dessous:

import io.restassured.RestAssured;
import static io.restassured.RestAssured.given;
public class Basics {
 public static void main(String[] args) 
 { 
  RestAssured.baseURI="https://maps.googleapis.com";
  given().
  param("location","-33.8670522,151.1957362").
  param("radius","500").
  param("types","food").
  param("key","AIzaSyDXR2YGnRu3-112ttezUsQ-T2zOkb6aafE").
  when().
  get("/maps/api/place/nearbysearch/json").then().assertThat().statusCode(200);  
 }
}

Mais je reçois une exception lors de l'exécution du script.

Exception in thread "main" java.net.UnknownHostException: maps.googleapis.com
 at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
 at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
 at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
 at java.net.InetAddress.getAllByName0(Unknown Source)
 at java.net.InetAddress.getAllByName(Unknown Source)
 at java.net.InetAddress.getAllByName(Unknown Source)
 at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
 at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
 at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
 at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
 at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)

Quelqu'un Pourrait-il m'aider à résoudre ce problème ?

Author: Baburaj V, 2018-04-04

2 answers

Vous avez probablement un problème avec votre DNS. Si vous faites nslookup maps.googleapis.com, vous devriez voir plus ou moins ce qui suit:

Server:  questgedctvm.com
Address:  10.197.72.16 

Non-authoritative answer:
Name:    googleapis.l.google.com
Addresses:  2a00:1450:4002:805::200a
          216.58.205.74
          216.58.205.106
          216.58.205.138
          216.58.205.170
          216.58.205.202
          216.58.198.10
          216.58.198.42
          172.217.23.106
          216.58.205.42
Aliases:  maps.googleapis.com

Si ce n'est pas ce que vous voyez (les adresses IP réelles peuvent différer, mais vous devriez obtenir un tas) alors vous avez un problème DNS que vous devez résoudre. Ce n'est pas un Java problème.

 1
Author: SeverityOne, 2018-04-04 06:53:58

Je peux obtenir la réponse de l'hôte https://maps.googleapis.com via votre code.

Vous pouvez lancer un terminal UNIX et utiliser la commande nslookup (entre autres) pour voir si votre serveur DNS peut résoudre le nom d'hôte en une adresse IP avec succès.

Essayez $ nslookup https://maps.googleapis.com

RestAssured.baseURI = "https://maps.googleapis.com";
RequestSpecification httpRequest = given();

Response response = httpRequest.
        param("location", "-33.8670522,151.1957362").
        param("radius", "500").
        param("types", "food").
        param("key", "AIzaSyDXR2YGnRu3-112ttezUsQ-T2zOkb6aafE").
        when().
        get("/maps/api/place/nearbysearch/json"); 

System.out.println("Response Body is =>  " + response.asString());

Mise à Jour

$ nslookup https://maps.googleapis.com

Server: questgedctvm.com
Address: 10.197.72.16

Non-authoritative answer:
Name:    googleapis.l.google.com
Addresses: <IP_Addresses>

Aliases:  https://maps.googleapis.com

Vérifiez l'adresse IP_Address, si vous êtes en mesure d'obtenir l'adresse IP_Address pour l'hôte https://maps.googleapis.com que tout va bien. Vous pouvez essayer mon code et vérifier la réponse à venir.

 1
Author: eigenharsha, 2018-04-04 06:45:46