Je viens de this question.Recherche Google via Java Api - Demandes multiples
Le code suivant ne fonctionne pas bien:
public static void main(String[] args) throws Exception {
for (int i = 0; i < 15; i++)
{
String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String search = "test";
String charset = "UTF-8";
URL url = new URL(google + URLEncoder.encode(search, charset));
Reader reader = new InputStreamReader(url.openStream(), charset);
GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
// Show title and URL of 1st result.
System.out.println(results.getResponseData().getResults().get(0).getTitle());
System.out.println(results.getResponseData().getResults().get(0).getUrl());
}
}
La requête de recherche fonctionne très bien si j'exécuter une fois, mais dans cette boucle, je reçois une exception de pointeur nul.
Malheureusement, je besoin de mon programme pour faire plusieurs requêtes :(Que puis-je faire?
Il retourne un NullPointerException
au premier results.getResponseData
.
Je suis également confronté à ce problème. Alors, comment se débarrasser de cela? –
vous ne pouvez pas. C'est contre les TOS de Google. Vous pouvez essayer d'ajouter un délai plus long ou essayer d'envoyer des adresses IP à Google. – David
j'ai ajouté l'IP également. mais ne fonctionne toujours pas. 'String address =" https://ajax.googleapis.com/ajax/services/search/web?v=1.0&start=0&userip=14.90.136.150&safe=active&rsz=8 &q="; ' parfois il ne donne aucun exception et rechercher le texte de google, mais la plupart du temps il jette 'NullPointerException'. pourquoi? –