Heim > Java > javaLernprogramm > Wie kann ich einen benutzerdefinierten Benutzeragenten für Java URLConnections festlegen?

Wie kann ich einen benutzerdefinierten Benutzeragenten für Java URLConnections festlegen?

Susan Sarandon
Freigeben: 2024-11-29 15:07:14
Original
879 Leute haben es durchsucht

How Can I Set a Custom User Agent for Java URLConnections?

Anpassen des Benutzeragenten für Java URLConnections

Wenn Sie mithilfe von Javas URLConnection eine Verbindung zu einer Webseite herstellen, möchten Sie möglicherweise einen benutzerdefinierten Benutzer festlegen Agent. Dies wird häufig verwendet, um das Verhalten eines bestimmten Webbrowsers nachzuahmen oder Ihre Anwendung zu identifizieren. Versuche, einen nicht standardmäßigen Benutzeragenten festzulegen, führen jedoch häufig dazu, dass der Standardwert angehängt wird.

Lösung:

In früheren Versionen von Java wurde ein benutzerdefinierter Benutzer festgelegt Agent über setRequestProperty("User-Agent", "custom_agent") am Ende "Java/xx" angehängt. Dieses Problem wurde in Java 1.6.30 und neuer behoben.

Beispiel:

import java.net.URL;
import java.net.URLConnection;

public class CustomUserAgent {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://example.com");
        URLConnection connection = url.openConnection();
        connection.setRequestProperty("User-Agent", "Mozilla/5.0");
        System.out.println(connection.getRequestProperty("User-Agent"));
    }
}
Nach dem Login kopieren

In Java 1.6.30 oder höher gibt dieser Code „Mozilla /5.0“ ohne das angehängte „Java/xx“.

Netcat Überprüfung:

Um zu überprüfen, ob der benutzerdefinierte Benutzeragent verwendet wird, können Sie einen Port mit netcat abhören:

$ nc -l -p 8080
Nach dem Login kopieren

Wenn der obige Code ausgeführt wird, sollten Sie sehen der benutzerdefinierte Benutzeragent in den von Netcat empfangenen HTTP-Headern.

Alternative Lösungen:

Wenn Sie immer noch Probleme mit dem Anhängen von „Java/xx“ in älteren Java-Versionen haben, können Sie versuchen, eine HTTP-Bibliothek eines Drittanbieters zu verwenden, mit der Sie den User-Agent-Header vollständig steuern können.

Das obige ist der detaillierte Inhalt vonWie kann ich einen benutzerdefinierten Benutzeragenten für Java URLConnections festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage