Utilisation d'Urlencode en Python

Fariba Laiq 10 octobre 2023
  1. URL Encoder un dictionnaire à l’aide de urlencode() en Python
  2. URL Encoder un dictionnaire à valeurs multiples à l’aide de urlencode() en Python
Utilisation d'Urlencode en Python

URL est synonyme de localisateur de ressources uniforme. L’URL est simplement l’adresse d’une ressource sur le Web via l’URL demandée par le navigateur pour que la page Web se charge.

L’encodage d’URL est le processus de conversion des caractères dans un format spécial utilisant un US-ASCII limité, qui est universellement accepté par tous les navigateurs et serveurs Web.

Si une URL contient des caractères autres que les caractères définis dans le jeu ASCII, ces caractères seront convertis dans un format ASCII valide. Il est également connu sous le nom de codage en pourcentage car nous voyons fréquemment des symboles de pourcentage dans les URL.

Chaque fois que nous appelons une API Web ou soumettons des données de formulaire HTTP, nous utilisons une URL codée pour coder la chaîne de requête. En Python, nous pouvons coder en URL une chaîne de requête à l’aide du module urlib.parse, qui contient en outre une fonction urlencode() pour coder la chaîne de requête en URL. La chaîne de requête est simplement une chaîne de paires clé-valeur.

URL Encoder un dictionnaire à l’aide de urlencode() en Python

Si nous voulons coder en URL une chaîne à l’aide de la fonction urlencode(), nous ne pouvons pas le faire directement car elle n’accepte pas de chaîne en argument. Nous pouvons passer l’argument sous la forme d’un dictionnaire. Dictionary est un type de données en Python qui stocke les données dans une paire clé-valeur.

Par exemple, nous avons une chaîne de requête comme celle-ci :

queryString = "name=" + "Jhon" + "&" + "age=" + "18"

Nous devons d’abord l’écrire dans un format de dictionnaire comme celui-ci :

queryString = {"name": "Jhon", "age": "18"}

Dans le code suivant, nous devons importer la bibliothèque urlib, et nous allons passer notre chaîne de requête à la fonction urlencode() du module parse de la bibliothèque urlib. Dans la sortie, nous obtiendrons l’URL encodée requise.

Dans la sortie, l’URL encodée sera sous la forme où les espaces seront remplacés par le symbole + et le symbole : est remplacé par le symbole & car c’est le format de l’URL encodée de la chaîne de requête.

Exemple de code :

# python 3.x
import urllib

queryString = {"name": "Jhon", "age": "18"}
urllib.parse.urlencode(queryString)

Production :

#python 3.x
'age=18&name=Jhon'

URL Encoder un dictionnaire à valeurs multiples à l’aide de urlencode() en Python

Supposons maintenant que notre chaîne de requête, qui se présente sous la forme d’un dictionnaire, contient des données à plusieurs valeurs comme un attribut nommé couleurs avec les valeurs blue, pink, et green, c’est donc un attribut à plusieurs valeurs. Nous pouvons également coder en URL ces dictionnaires en Python.

La fonction urlencode() prend un argument optionnel doseq. Si nous définissons sa valeur sur True, nous pouvons éviter les caractères spéciaux dans la sortie.

Exemple de code :

import urllib

queryString = {"jeans": "Bell Bottom", "colors": ["blue", "pink", "green"]}
urllib.parse.urlencode(queryString, doseq=True)

Production :

'jeans=Bell+Bottom&colors=blue&colors=pink&colors=green'
Auteur: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Article connexe - Python URL