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

Python Discussion :

usage str.encode str.decode


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Par défaut usage str.encode str.decode
    Bonjour,

    Je débute en python et je cherche à faire une authentification http

    Pour cela, je me suis dit que j'allais m'inspirer de code déjà existant d'un éditeur connu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    auth = user + ':' + password
        auth_encoded = base64.b64encode(auth.encode())
        credential = {
            'Authorization': "Basic " + auth_encoded.decode(),
            'User-Agent': 'Rest-Conf',
            'Accept': _HEADER,  # Default response is XML. This forces JSON
            'Content-Type': _HEADER  # Also needed for a JSON response

    je comprend que auth.encode est utilisé pour encoder des caractères pouvant poser problème tant d'un point de vu sécurité que caractères spécifique a une langue

    Mais pourquoi faire un decode juste en dessous ? Logiquement, auth_encoded etant du base64, il ne devrait rien avoir a décoder ?

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    decode est juste une méthode permettant de passer d'un type bytes en str.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,
    Citation Envoyé par rom_95 Voir le message
    Logiquement, auth_encoded etant du base64, il ne devrait rien avoir a décoder ?
    coder/decoder sert ici (et aussi) à passer d'une séquence de bytes à un str(ing)... et donc à utiliser un type qui sera conforme à l'interface qui va le consommer.
    note: du coup c'est (bytes).decode et non (str).decode.... de plus "Basic " + auth_encoded essaie de concaténer str et bytes (sans .encode, çà plante).

    Votre "logiquement" rend compte de la perception limité de ce que fait le code que vous lisez: vous ne regardez pas les choses telles qu'elles sont mais avec ce que vous laissent voir les lunettes que vous portez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Par défaut
    merci beaucoup pour les explications, c'est beaucoup plus clair

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

Discussions similaires

  1. Cherche library pour encoder et décoder des QRCode en Java
    Par ZeProgrammator dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 10/10/2013, 17h00
  2. encode et decode
    Par Dominikk dans le forum Général Python
    Réponses: 4
    Dernier message: 28/03/2009, 12h57
  3. Encoder et décoder une trame
    Par SuperTracteur dans le forum C#
    Réponses: 0
    Dernier message: 27/02/2009, 10h13
  4. Réponses: 21
    Dernier message: 27/03/2008, 13h28
  5. [JSP] encoder et décoder les param d'une URL ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/12/2003, 11h34

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