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 :

[urllib] Comportement anormale de la fonction urllib.urlencode ? [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 1
    Par défaut [urllib] Comportement anormale de la fonction urllib.urlencode ?
    Bonsoir à tous,

    Je poste ici ce tout premier message (étant un gros noob du python) car je suis témoin d'un drôle de comportement lorsque j'utilise la fonction urllib.urlencode du module urllib.

    Version de Python : Python 2.6.6

    D'aprés la doc officielle : "The order of parameters in the encoded string will match the order of parameter tuples in the sequence."

    Pourtant voici ce que je constate sans bien comprendre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    >>> url_password = {'pwd_field' : 'PASSWORD', 'login_field' : 'USERNAME'}
    >>> urllib.urlencode(url_password)
    'pwd_field=PASSWORD&login_field=USERNAME'
    >>>
    >>> url_password = {'login_field' : 'USERNAME', 'pwd_field' : 'PASSWORD'}
    >>> urllib.urlencode(url_password)
    'pwd_field=PASSWORD&login_field=USERNAME'
    Je ne comprends pas pourquoi les champs ne respecte pas l'ordre des paramètres définis dans la variable url_password.
    Avez-vous ce même comportement ? Savez-vous l'expliquer ? Je vais essayer de réaliser le test sur une VM pour creuser cette histoire... même comportement....

    Par contre, en agençant les paramètres de cette manière celà marche comme attendu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >>> url_password=[('login_field','USERNAME'), ('pwd_field','PASSWORD')]
    >>> urllib.urlencode(url_password)
    'login_field=USERNAME&pwd_field=PASSWORD'

    Merci d'avance pour vos réponses !

    Cordialement.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Je dirais que dans le premier cas tu utilises un dictionnaire et ceux-ci ne sont pas ordonnés tandis que dans l'autre cas tu utilises une liste de tuples où l'ordre est respecté.

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

Discussions similaires

  1. [PHP 5.2] Comportement anormal d'une fonction
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2011, 11h56
  2. comportement étrange de la fonction to_char
    Par pascal_T dans le forum SQL
    Réponses: 3
    Dernier message: 04/12/2009, 10h40
  3. Comportement bizarre de la fonction strlen
    Par clampin dans le forum C
    Réponses: 4
    Dernier message: 30/12/2006, 14h00
  4. Urllib.urlencode et unicode
    Par MagnetiK dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 15/10/2006, 11h14

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