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.