Heim >Java >javaLernprogramm >Wie stelle ich den Benutzeragenten einer Java-URL-Verbindung ohne Java-Ergänzungen ein?

Wie stelle ich den Benutzeragenten einer Java-URL-Verbindung ohne Java-Ergänzungen ein?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-30 20:59:12545Durchsuche

How to Set the User Agent of a Java URLConnection Without Java Additions?

Festlegen des Benutzeragenten einer Java-URL-Verbindung ohne Java-Zusatz

In Java fügt das Festlegen der User-Agent-Eigenschaft einer URL-Verbindung normalerweise hinzu: Java/version“ an das Ende der angegebenen Agentenzeichenfolge anhängen. Um einen rein benutzerspezifizierten Benutzeragenten zu erreichen, sind die folgenden Schritte erforderlich:

Java 1.6.30 und höher

In Java-Versionen 1.6.30 und höher: setRequestProperty("User-Agent", "user-agent-string") setzt den Agenten ohne Java-Zusatz. Dies kann bestätigt werden, indem man mit einem Port-Listener wie Netcat auf eingehende Anfragen lauscht:

$ nc -l -p 8080

Ohne setRequestProperty sehen die Header so aus:

GET /foobar HTTP/1.1
User-Agent: Java/1.6.0_30
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Mit setRequestProperty wird der User- Der Agent wird korrekt eingestellt:

GET /foobar HTTP/1.1
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
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

Voll Beispiel:

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 stelle ich den Benutzeragenten einer Java-URL-Verbindung ohne Java-Ergänzungen ein?. 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