Maison >Java >javaDidacticiel >Pourquoi mon programme Java obtient-il une erreur 403 interdite dans la recherche Google alors que mon navigateur ne le fait pas ?

Pourquoi mon programme Java obtient-il une erreur 403 interdite dans la recherche Google alors que mon navigateur ne le fait pas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-12 13:54:11369parcourir

Why Does My Java Program Get a 403 Forbidden Error from Google Search While My Browser Doesn't?

403 interdits rencontrés avec Java mais pas avec les navigateurs Web

Lorsqu'ils tentent de récupérer le nombre de résultats pour un terme de recherche Google à l'aide d'un programme Java, les développeurs peuvent rencontrer un 403 Erreur interdite alors que les navigateurs Web fournissent les résultats corrects. Cet écart provient de l'absence d'en-tête d'agent utilisateur dans le programme Java.

Solution :

Pour résoudre le problème, il est nécessaire de définir l'en-tête de l'agent utilisateur dans le programme Java. Implémentez l'extrait de code suivant :

URLConnection connection = new URL("https://www.google.com/search?q=" + query).openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
connection.connect();

BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));

...

Remarque :

  1. Gestion SSL : SSL est géré de manière transparente, comme indiqué dans le exception stacktrace.
  2. Récupération du montant du résultat : L'obtention du montant exact du résultat nécessite des étapes supplémentaires, notamment la récupération des cookies et l'analyse des jetons de redirection.
  3. Exemple de code : Le code fourni démontre le processus complet, aboutissant au nombre correct de résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn