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

Développement Web en Java Discussion :

récuperer les cookies et leurs valeurs contenant le symbole egal


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 37
    Points
    37
    Par défaut récuperer les cookies et leurs valeurs contenant le symbole egal
    bonjour,

    Je débute avec les cookies, je cherche donc à les afficher tous pour pouvoir récuperer la valeur. Jusqu'ici, je peux lister leurs noms et récupérer leurs valeurs (du moins en partie).
    En effet, j'ai constaté que quand une valeur contient le signe "=" (égal), la valeur récupérée omet ce qui se trouve à partir de ce symbole.

    Voici ce que je suis sensé récuperer :

    pour le nom "intranet", et la valeur "authtoken=57F7E2B3%2D6603%2D4F9C%2D8C68%2D02CB44D78444&username=CNI&language=FR"

    au lieu de ça, je récupère :

    pour le nom "intranet", et la valeur "authtoken"



    En lisant sur le net, on me conseille d'utiliser la méthode URLDecoder (qui ne me donne pas de meilleur résultat : https://stackoverflow.com/questions/...in-servletexec)

    Quelqu'un a-t'il une solution ?

    Merci,



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    HttpServletRequest request =  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
     
    		javax.servlet.http.Cookie[] cookie = request.getCookies();
     
    		for(int i = 0; i < cookie.length; i++) {
    			log.info("Cookie Name : " + cookie[i].getName());
    			try {
    				log.info("Cookie Value : " + URLDecoder.decode(cookie[i].getValue(), "UTF-8"));
    			} catch (UnsupportedEncodingException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    			log.info("Cookie Comment : " + cookie[i].getComment());
    			log.info("Cookie Domain : " + cookie[i].getDomain());
    			log.info("Cookie Path : " + cookie[i].getPath());
     
    		}

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    Pour votre information, voici une solution. Je ne comprends pas encore le pourquoi mais cela marche et c'est le principal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public static Map<String, Cookie> parseCookies(HttpServletRequest httpRequest)
    {
        return parseCookies(httpRequest.getHeader("Cookie"));
    }
     
    public static Map<String, Cookie> parseCookies(String cookieHeader)
    {
        Map<String, Cookie> result = new LinkedHashMap<String, Cookie>();
        if (cookieHeader != null)
        {
            String[] cookiesRaw = cookieHeader.split("; ");
            for (int i = 0; i < cookiesRaw.length; i++)
            {
                String[] parts = cookiesRaw[i].split("=", 2);
                String value = parts.length > 1 ? parts[1] : "";
                if (value.length() >= 2 && value.startsWith("\"") && value.endsWith("\""))
                {
                    value = value.substring(1, value.length() - 1);
                }
                result.put(parts[0], new Cookie(parts[0], value));
            }
        }
        return result;
    }

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

Discussions similaires

  1. [XL-365] Graphique - boucler sur les séries pour supprimer les étiquettes selon leur valeur
    Par Aline S dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2020, 11h33
  2. Comment lister toutes les variables et leurs valeurs
    Par spip68 dans le forum Langage
    Réponses: 6
    Dernier message: 15/02/2012, 13h16
  3. les cookies et leurs accès
    Par guy_s dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2010, 11h17
  4. Réponses: 4
    Dernier message: 23/06/2009, 16h10
  5. [JCheckBox] Récuperer les valeurs
    Par Regis.C dans le forum Composants
    Réponses: 3
    Dernier message: 12/04/2005, 21h19

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