Heim > Java > javaLernprogramm > Warum erhalte ich die Fehlermeldung 403 Forbidden, wenn ich mit Java eine Verbindung zu Google herstelle?

Warum erhalte ich die Fehlermeldung 403 Forbidden, wenn ich mit Java eine Verbindung zu Google herstelle?

DDD
Freigeben: 2024-12-28 06:43:28
Original
964 Leute haben es durchsucht

Why Am I Getting a 403 Forbidden Error When Connecting to Google with Java?

403 Verboten beim Herstellen einer Verbindung zu Google mit Java

Wenn Sie versuchen, eine Verbindung zu Google herzustellen und Informationen mithilfe von Java abzurufen, kann es sein, dass Sie auf einen 403 Verbotenen Fehler stoßen Fehler, obwohl die gleiche Anfrage in Webbrowsern erfolgreich ist. Hier erfahren Sie, warum und wie Sie das Problem beheben können:

Java setzt nicht automatisch den „User-Agent“-Header, den Browser verwenden, um sich selbst zu identifizieren. Dies kann auf Websites, die diesen Header verwenden, um die Legitimität der Anfrage zu ermitteln, einen 403-Fehler auslösen. Um dieses Problem zu beheben, legen Sie den „User-Agent“-Header manuell wie folgt fest:

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");
Nach dem Login kopieren

Darüber hinaus sind für die Verarbeitung der Antwort weitere Schritte erforderlich, um das Browserverhalten zu emulieren, einschließlich des Abrufens des Cookies, des Parsens des Weiterleitungstoken-Links usw Extrahieren der gewünschten Informationen. Hier ist der geänderte Code:

String cookie = connection.getHeaderField("Set-Cookie").split(";")[0];
...
if (m.find()) {
    long amount = Long.parseLong(m.group(1).replaceAll(",", ""));
    return amount;
}
Nach dem Login kopieren

Mit diesen Anpassungen sollte der Java-Code in der Lage sein, die Suchergebnismenge erfolgreich von Google abzurufen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung 403 Forbidden, wenn ich mit Java eine Verbindung zu Google herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage