Heim >Java >javaLernprogramm >Warum erhält mein Java-Programm in der Google-Suche den Fehler 403 Forbidden, während mein Browser dies nicht tut?

Warum erhält mein Java-Programm in der Google-Suche den Fehler 403 Forbidden, während mein Browser dies nicht tut?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-12 13:54:11425Durchsuche

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

403 verboten bei Java, aber nicht bei Webbrowsern

Beim Versuch, die Anzahl der Ergebnisse für einen Google-Suchbegriff mit einem Java-Programm abzurufen, stoßen Entwickler möglicherweise auf einen 403 Verbotener Fehler, während Webbrowser die richtigen Ergebnisse liefern. Diese Diskrepanz entsteht durch das Fehlen eines User-Agent-Headers im Java-Programm.

Lösung:

Um das Problem zu beheben, ist es notwendig, den User-Agent-Header festzulegen im Java-Programm. Implementieren Sie das folgende Code-Snippet:

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")));

...

Hinweis:

  1. SSL-Handhabung: SSL wird transparent gehandhabt, wie im gezeigt Ausnahme-Stacktrace.
  2. Abruf des Ergebnisbetrags: Um die genaue Ergebnismenge zu erhalten, sind zusätzliche Schritte erforderlich, einschließlich des Abrufens von Cookies und des Parsens von Weiterleitungstokens.
  3. Beispielcode: Der bereitgestellte Code demonstriert den gesamten Prozess, der zur korrekten Anzahl von Ergebnissen führt.

Das obige ist der detaillierte Inhalt vonWarum erhält mein Java-Programm in der Google-Suche den Fehler 403 Forbidden, während mein Browser dies nicht tut?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn