Usando Urlencode en Python

Fariba Laiq 10 octubre 2023
  1. URL codifica un diccionario usando urlencode() en Python
  2. URL codifica un diccionario de valores múltiples usando urlencode() en Python
Usando Urlencode en Python

URL significa localizador uniforme de recursos. La URL es simplemente la dirección de un recurso en la web a través de la URL que el navegador solicita para cargar la página web.

La codificación de URL es el proceso de convertir caracteres en un formato especial utilizando un US-ASCII limitado, que es universalmente aceptado por todos los navegadores y servidores web.

Si una URL contiene caracteres distintos de los definidos en el conjunto ASCII, estos caracteres se convertirán a un formato ASCII válido. También se conoce como codificación porcentual porque vemos símbolos de porcentaje con frecuencia en las URL.

Cada vez que llamamos a una API web o enviamos datos de un formulario HTTP, usamos una URL codificada para codificar la cadena de consulta. En Python, podemos codificar en URL una cadena de consulta utilizando el módulo urlib.parse, que además contiene una función urlencode() para codificar la cadena de consulta en URL. La cadena de consulta es simplemente una cadena de pares clave-valor.

URL codifica un diccionario usando urlencode() en Python

Si queremos codificar en URL una cadena usando la función urlencode(), no podemos hacerlo directamente porque no acepta una cadena como argumento. Podemos pasar el argumento en forma de diccionario. Dictionary es un tipo de datos en Python que almacena los datos en un par clave-valor.

Por ejemplo, tenemos una cadena de consulta como esta:

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

Primero tenemos que escribirlo en un formato de diccionario como este:

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

En el siguiente código, tenemos que importar la biblioteca urlib, y pasaremos nuestra cadena de consulta a la función urlencode() del módulo parse de la biblioteca urlib. En el resultado, obtendremos la URL codificada requerida.

En la salida, la URL codificada tendrá la forma en la que los espacios serán reemplazados por el símbolo + y el símbolo : será reemplazado por el símbolo & porque es el formato de la URL codificada de la cadena de consulta.

Código de ejemplo:

# python 3.x
import urllib

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

Producción :

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

URL codifica un diccionario de valores múltiples usando urlencode() en Python

Ahora digamos que nuestra cadena de consulta, que tiene la forma de un diccionario, contiene datos de varios valores, como un atributo denominado colors con valores blue, pink y green, por lo que es un atributo de varios valores. También podemos codificar URL para dichos diccionarios en Python.

La función urlencode() toma un argumento opcional doseq. Si establecemos su valor en True, podemos evitar caracteres especiales en la salida.

Código de ejemplo:

import urllib

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

Producción :

'jeans=Bell+Bottom&colors=blue&colors=pink&colors=green'
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

Artículo relacionado - Python URL