Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Что значит, что параметры GET запроса должны быть URL -encoded ?

в документации написано, что параметры для GET запроса должны быть "URL-encoded"

1
 params = {'param1': 111, 'param2': 222} 

Что это значит ? как их нужно кодировать?

1
 resposne = requests.get(url, params = params) 
По дате
По рейтингу
Аватар пользователя
Новичок

URL-кодирование - это процесс преобразования символов в URL-совместимую форму. Это необходимо, потому что некоторые символы, такие как пробелы, скобки и знак вопроса, имеют особое значение в URL. URL-кодирование заменяет эти символы на их коды в шестнацатеричном формате.

Чтобы URL-кодировать параметры, вы можете использовать функцию urllib.parse.urlencode(). Эта функция принимает словарь параметров в качестве входных данных и возвращает строку с URL-кодированными параметрами.

Например, следующий код URL-кодирует словарь параметров params:

12345
 >>> import urllib.parse 
>>> params = {'param1': 111, 'param2': 222} 
>>> encoded_params = urllib.parse.urlencode(params) 
>>> encoded_params 
'param1=111&param2=222' 

URL-кодированная строка encoded_params может быть передана в параметр params функции requests.get(), чтобы отправить параметры в GET-запрос

1234
 >>> import requests 
>>> url = 'https://www.example.com/api/v1/' 
>>> params = {'param1': 111, 'param2': 222} 
>>> response = requests.get(url, params=params) 

Функция requests.get() вернет объект ответа Response. Вы можете использовать этот объект, чтобы получить статус ответа, заголовки и тело ответа.