IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Modifier le header d'une requête HTTP en mode 200


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut Modifier le header d'une requête HTTP en mode 200
    Bonjour à tous !

    J'ai conçu une servlet Java (je précise, mais je pense que ma demande peut être généralisée à toute application Java), et j'ai besoin d'interroger un serveur distant sur le port 80 en mode 200, avec une requête HTTP.
    Pour ça, pas de souci, il y a URLConnection.

    Là où je bute, c'est qu'il faut que je modifie l'entête HTTP de la requête que je fais. Et là, je ne vois pas comment faire, puisque dans la Javadoc, je ne trouve de fonction "setHeader" que pour modifier la réponse de la servlet (or, moi, je veux modifier l'entête d'une requête).

    Est-il possible de faire ça en Java "pur" ?
    Autrement, je sais qu'il existe la bibliothèque HttpClient quelque part. Est-ce un passage obligé ?

    Merci par avance pour vos réponses.

  2. #2
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Bonjour

    je n'ai pas regardé la FAQ mais en cherchant sur Google j'ai trouvé le lien suivant vers un blog

    http://vangjee.wordpress.com/2009/02...b-application/

    Vous pouvez essayer et nous faire un retour mais après avoir lu le blog je pense que ça peut fonctionner

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Merci Isma !
    Mais malheureusement, ça n'a pas l'air de répondre à ce que je cherche à faire.

    Dans ma démarche, ma servlet est cliente d'un serveur distant (qui est celui qui nécessite mon header modifié) ; il faut donc modifier la requête sortante.
    Sur ton lien, il s'agit de modifier le header d'une requête entrante (ce qui, par ailleurs, est intéressant, je le garde sous le coude).

  4. #4
    Membre chevronné Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Par défaut
    Est-il possible d'avoir une partie de ton code?
    Tu construits ta requette Http à partir de rien ou de la requête reçue par ta servlet?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Je la construis à partir de rien. Et vu que je ne sais pas trop comment faire, je n'ai pas grand chose à fournir en matière de code.

    A la limite, en guise d'exemple, je peux te donner l'idée générale que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Appel du serveur distant
        URL remoteUrl = new URL("http://www.remote.com/?param=truc");
     
        // Connexion au serveur distant
        HttpURLConnection remoteServer = (HttpURLConnection)remoteUrl.openConnection();
        remoteServer.setDoInput(true);
        remoteServer.setRequestMethod("GET");
        remoteServer.setRequestProperty("Content-type", "text/html");
        remoteServer.connect();
     
        // Lecture de la réponse
        etc, etc...
    }
    Le problème que j'ai, c'est que cette connexion distante à www.remote.com requiert deux paramètres que je dois passer en entête. Et je ne sais ni où ni comment...

  6. #6
    Membre chevronné Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Par défaut
    As-tu essayé en utilisant la méthode addRequestProperty?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Citation Envoyé par billynirvana Voir le message
    As-tu essayé en utilisant la méthode addRequestProperty?
    J'y avais justement pensé.
    Je suis en train d'essayer... Je vous dis ce que ça a donné ensuite.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Résultat des courses : addRequestProperty permet bien de modifier les paramètres d'entête !
    Du coup, le code ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        // Connexion au serveur distant
        HttpURLConnection remoteServer = (HttpURLConnection)remoteUrl.openConnection();
        remoteServer.setDoInput(true);
        remoteServer.setRequestMethod("GET");
        remoteServer.setRequestProperty("Content-type", "text/html");
        remoteServer.setRequestProperty("PARAM_HEADER1", "toto1");
        remoteServer.connect();
    Et la requête HTTP a bien le paramètre "PARAM_HEADER1" avec "toto1" en valeur.
    Merci beaucoup pour vos réponses très rapides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier une requête HTTP
    Par Rolf-IV dans le forum jQuery
    Réponses: 1
    Dernier message: 10/11/2009, 15h17
  2. Parser une requête HTTP/GET en c ! regex ?
    Par canard75 dans le forum C
    Réponses: 14
    Dernier message: 06/12/2005, 10h08
  3. Réponses: 2
    Dernier message: 05/10/2005, 15h27
  4. Modifier l'affichage d'une requête
    Par seal dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 14h26
  5. [HTTP]Créer une requête http multipart/related
    Par jothi35 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo