Heim > Java > javaLernprogramm > Wie lege ich den Benutzeragenten einer Java-URL-Verbindung fest?

Wie lege ich den Benutzeragenten einer Java-URL-Verbindung fest?

Patricia Arquette
Freigeben: 2024-12-06 07:21:12
Original
481 Leute haben es durchsucht

How to Set the User Agent of a Java URLConnection?

Einstellen des Benutzeragenten einer Java URLConnection

Bei der Verwendung von URLConnection zum Parsen von Webseiten in Java ist es wichtig, den Benutzeragenten richtig einzustellen. Standardmäßig wird dem angegebenen Benutzeragenten jedoch „Java/1.5.0_19“ angehängt. Dies kann ein Problem darstellen, wenn versucht wird, einen bestimmten Browser zu verbergen oder sich als dieser auszugeben.

Klärung und Lösung

In Java-Versionen 1.6.30 und höher besteht das Problem mit dem Benutzeragenten Das Anhängen existiert nicht mehr und setRequestProperty("User-Agent", "Mozilla ...") funktioniert wie vorgesehen. Um dies zu überprüfen, kann ein Port-Listener eingerichtet werden, der HTTP-Header erfasst.

Wenn eine Anfrage gesendet wird, ohne dass setRequestProperty verwendet wird, enthalten die HTTP-Header Folgendes:

User-Agent: Java/1.6.0_30
Nach dem Login kopieren

Jedoch wann setRequestProperty wird verwendet, um einen bestimmten Benutzeragenten festzulegen. Die HTTP-Header spiegeln den angegebenen wider Wert:

User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2
Nach dem Login kopieren

Beispielcode

Der folgende Code bietet ein vollständiges Beispiel dafür, wie der Benutzeragent festgelegt und der Inhaltstyp einer Webseite abgerufen wird:

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

public class TestUrlOpener {

    public static void main(String[] args) throws IOException {
        URL url = new URL("http://localhost:8080/foobar");
        URLConnection hc = url.openConnection();
        hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

        System.out.println(hc.getContentType());
    }

}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lege ich den Benutzeragenten einer Java-URL-Verbindung fest?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage