← retour aux snippets

urllib.parse: urljoin et urlencode

Assembler des URLs proprement et encoder des paramètres de requête.

python url #urljoin#urlencode

objectif

Assembler des URLs proprement et encoder des paramètres de requête.

code minimal

from urllib.parse import urljoin, urlencode
base = "https://data.pm/api/"
full = urljoin(base, "v1/items")
qs = urlencode({"q": "a b", "page": 1})
print(full.endswith("/v1/items") and "q=a+b" in qs)  # attendu: True

utilisation

from urllib.parse import urlencode
print("page=2" in urlencode({"page": 2}))

variante(s) utile(s)

from urllib.parse import urljoin
print(urljoin("https://x/y/", "../z") == "https://x/z")

notes

  • urljoin gère les chemins relatifs proprement.
  • urlencode échappe espaces et caractères spéciaux correctement.