Maison > Java > javaDidacticiel > Comment définir l'agent utilisateur d'une connexion URL Java ?

Comment définir l'agent utilisateur d'une connexion URL Java ?

Patricia Arquette
Libérer: 2024-12-06 07:21:12
original
532 Les gens l'ont consulté

How to Set the User Agent of a Java URLConnection?

Définition de l'agent utilisateur d'une URLConnection Java

Lors de l'utilisation d'URLConnection pour analyser des pages Web en Java, il est crucial de définir correctement l'agent utilisateur. Cependant, par défaut, l'agent utilisateur spécifié est suivi de "Java/1.5.0_19". Cela peut être un problème lorsque vous essayez de dissimuler ou d'usurper l'identité d'un navigateur particulier.

Clarification et résolution

Dans les versions Java 1.6.30 et ultérieures, le problème avec l'agent utilisateur l'ajout n'existe plus et setRequestProperty("User-Agent", "Mozilla ...") fonctionne comme prévu. Pour vérifier cela, un écouteur de port peut être configuré pour capturer les en-têtes HTTP.

Lorsqu'une requête est envoyée sans que setRequestProperty soit utilisé, les en-têtes HTTP incluront :

User-Agent: Java/1.6.0_30
Copier après la connexion

Cependant, lorsque setRequestProperty est utilisé pour définir un agent utilisateur spécifique, les en-têtes HTTP refléteront le spécifié value :

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
Copier après la connexion

Exemple de code

Le code suivant fournit un exemple complet de la façon de définir l'agent utilisateur et de récupérer le type de contenu d'une page Web :

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

}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal