Maison >Java >javaDidacticiel >Comment définir un agent utilisateur personnalisé pour les connexions URL en Java sans l'identifiant d'exécution Java ?

Comment définir un agent utilisateur personnalisé pour les connexions URL en Java sans l'identifiant d'exécution Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 13:12:02203parcourir

How to Set a Custom User Agent for URLConnections in Java without the Java Runtime Identifier?

Personnalisation de l'agent utilisateur pour les connexions URL en Java

Lors de l'utilisation d'URLConnection en Java pour récupérer du contenu Web, la définition d'un agent utilisateur personnalisé est souvent nécessaire pour exploration précise du site Web et simulation des utilisateurs. Cependant, le moteur d'exécution Java par défaut ajoute son propre identifiant à la chaîne de l'agent utilisateur, ce qui peut ne pas être souhaitable dans certains scénarios.

La requête

Un développeur Java a demandé de l'aide. en définissant un agent utilisateur sans le suffixe "Java/1.5.0_19" ajouté par le runtime. L'utilisateur a fourni un extrait de code illustrant comment il a tenté de définir l'agent utilisateur à l'aide de setRequestProperty().

La solution

Heureusement, dans Java 1.6.30 et versions ultérieures, la configuration de l'agent utilisateur via setRequestProperty("User-Agent", "") fonctionne parfaitement, sans qu'aucune information d'exécution Java supplémentaire ne soit ajoutée. Pour démontrer cela, le développeur a utilisé netcat pour écouter les requêtes HTTP entrantes et a observé que l'agent utilisateur personnalisé avait été envoyé avec succès sans le suffixe Java.

Mise en œuvre complète

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

public class CustomUserAgent {

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

}

En utilisant cette approche, les développeurs peuvent définir efficacement des agents utilisateurs pour leurs URLConnections en Java sans aucun ajout indésirable spécifique à Java, garantissant ainsi le comportement souhaité pour leur web scraping ou autre communication. tâches.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn