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
Patricia ArquetteOriginal
2024-12-06 07:21:12524Durchsuche

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

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

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());
    }

}

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!

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