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 ?
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.
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.