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

Ada Discussion :

Problème avec les CGI et les Cookies.


Sujet :

Ada

  1. #1
    Invité
    Invité(e)
    Par défaut Problème avec les CGI et les Cookies.
    Bonjour,

    J'écris un petit site avec une CGI qui interface un programme qui prend un texte en entrée et retourne un texte.

    Mon problème à la base c'est que le texte reçus de Gnat.Cgi.value, n'est pas décodé (on trouve des '+' en place des ' '). Comme la fonction décode, n'est pas disponible dans Gnat.Cgi, je me suis tourné vers Adacgi, mais là un autre problème, impossible de récupérer mon second cookie qui contient une chaîne de 32 caractères.

    Si vous avez un tuyau un conseil, je suis preneur. Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    j'utilise Gnat.Cgi pour les cookies, et j'ai piqué url_decode à Adacgi, et je n'ai plus de problème.

    Merci.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ah non.


    Re-bonjour, je reviens parce que non, url_decode me vire les aussi les caractères '+' de mon texte.

    J'ai voulu essayer Aws.url.decode mais j'ai un problème pour compiler.

    Si quelqu'un avait un tuyau, il me manque un bout de la bibliothèque "aws" le template_parser.

    De l'aide sera la bien venue.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re-bonjour ou bonsoir, Je viens mettre à jour mes problème sur ce coup.

    A présent il me manque un paquetage, voici le message de compilation :

    # make web_client
    gnatmake src/web_client.adb -D .obj -o bin/web_client -aIsrc/lib -aI/usr/share/ada/adainclude/aws -aI/usr/share/ada/adainclude/templates_parser
    gcc-4.4 -c -Isrc/ -Isrc/lib -I/usr/share/ada/adainclude/aws -I/usr/share/ada/adainclude/templates_parser -I- -o .obj/aws-translator.o /usr/share/ada/adainclude/aws/aws-translator.adb
    aws-translator.adb:24:18: missing body for "Conversion" declared at line 67
    gnatmake: "/usr/share/ada/adainclude/aws/aws-translator.adb" compilation error
    make: *** [web_client] Erreur 4
    #

    Donc, conversion est absent, ou le dénicher,

    J'ai la spec,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     package Conversion is
     
          function To_String (Data : Stream_Element_Array) return String;
          pragma Inline (To_String);
          --  Convert a Stream_Element_Array to a string                                                                                                                                    
     
          function To_Stream_Element_Array
            (Data : String) return Stream_Element_Array;
          pragma Inline (To_Stream_Element_Array);
          --  Convert a String to a Stream_Element_Array                                                                                                                                    
     
       end Conversion;


    Puis-je l'implémenter moi même ? Non !

  5. #5
    Membre actif

    Homme Profil pro
    Mathématicien et développeur
    Inscrit en
    Mars 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Mathématicien et développeur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 132
    Points : 241
    Points
    241
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par jovalise Voir le message
    Re-bonjour ou bonsoir, Je viens mettre à jour mes problème sur ce coup.

    A présent il me manque un paquetage, voici le message de compilation :




    Donc, conversion est absent, ou le dénicher,

    J'ai la spec,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     package Conversion is
     
          function To_String (Data : Stream_Element_Array) return String;
          pragma Inline (To_String);
          --  Convert a Stream_Element_Array to a string                                                                                                                                    
     
          function To_Stream_Element_Array
            (Data : String) return Stream_Element_Array;
          pragma Inline (To_Stream_Element_Array);
          --  Convert a String to a Stream_Element_Array                                                                                                                                    
     
       end Conversion;


    Puis-je l'implémenter moi même ? Non !
    Sûr!
    Je tape directement (sans tester):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function To_String (Data : Stream_Element_Array) return String is
      s: String(Data'Range);
    begin
      for i in Data'Range loop
        s(i):= Character'Val(Data(i));
      end loop;
      return s;
    end To_String;
    Probablement qu'il faut faire aussi une conversion du type de l'indice.

    AMHA on ne devrait jamais avoir à utiliser Stream_Element_Array et juste utiliser les attributs: String'Read(s), String'Write(s).
    Mais bon, parfois on n'a pas le choix...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour zerte, merci.


    Tu saurais faire la seconde également parce que j'en ai besoin, mais je connais pas les stream_element ! S'il te plaît quand tu passera si tu as le temps.

    Merci !

  7. #7
    Membre actif

    Homme Profil pro
    Mathématicien et développeur
    Inscrit en
    Mars 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Mathématicien et développeur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 132
    Points : 241
    Points
    241
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par jovalise Voir le message
    Bonjour zerte, merci.


    Tu saurais faire la seconde également parce que j'en ai besoin, mais je connais pas les stream_element ! S'il te plaît quand tu passera si tu as le temps.

    Merci !
    C'est tout à fait vrai que le nom Stream_Element fait peur.
    En fait il s'agit d'un innocent Byte ou Unsigned_8 (sauf machine très spéciale).
    Bref pour la conversion inverse, c'est quasi la même chose, sauf que tu auras un a(i):= Character'Pos(s(i)); dans la boucle.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Zerte Voir le message
    C'est tout à fait vrai que le nom Stream_Element fait peur.
    En fait il s'agit d'un innocent Byte ou Unsigned_8 (sauf machine très spéciale).
    Bref pour la conversion inverse, c'est quasi la même chose, sauf que tu auras un a(i):= Character'Pos(s(i)); dans la boucle.
    Ah Ok, je vais tester tout ça dans la journée.
    Merci beaucoup Zerte, je vous tiens au courant.

    Le site est , manque un bon appel à la bonne fonction pour décoder le texte. Pour le moment, ça mappe les '+' en ' ' (espace).

    Je compte sur aws.url.decode.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Hi !

    j'ai réussi à compiler, l'appel à aws.url.decode se passe bien, mais ne décode pas comme je le souhaite.

    je cherche un moyen de conserver les '+' de mon texte.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/08/2006, 16h46
  2. [Tableaux] Problème avec un array et les pseudo frame
    Par azerty53 dans le forum Langage
    Réponses: 6
    Dernier message: 10/05/2006, 14h57
  3. Problème avec l'unicode et les exceptions
    Par Rafy dans le forum C++
    Réponses: 5
    Dernier message: 07/02/2006, 00h52
  4. problème avec strtok pour récupérer les vides
    Par manikou dans le forum MFC
    Réponses: 4
    Dernier message: 02/06/2005, 20h08

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