Python Glossary English

все Python 3urllib.parseфункция

urllib.parse.urlencode()

строка запроса

Собирает строку запроса a=1&b=2 из словаря или списка пар, кодируя значения через quote_plus().

Синтаксис

urllib.parse.urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus)

Список в значении без doseq=True превращается в текст «[1, 2]» и кодируется целиком — нужен doseq=True, чтобы получить n=1&n=2. Пробел становится «+»; для %20 передают quote_via=quote. None не пропускается, а уходит строкой 'None'. Знак «?» функция не добавляет.

Примеры

from urllib.parse import urlencode
print(urlencode({'q': 'a b', 'n': [1, 2]}))  # → q=a+b&n=%5B1%2C+2%5D
print(urlencode({'n': [1, 2]}, doseq=True))  # → n=1&n=2
print(urlencode({'x': None}))  # → x=None
from urllib.parse import urlencode, quote
print(urlencode({'q': 'a b'}, quote_via=quote))  # → q=a%20b

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности