Как я могу исправить кодировку API Python для создания или сохранения этих символов

#python #api #encoding #utf-8

Вопрос:

Извините, у меня есть def create на Python для использования API. С любым символом, включая символы, которые можно сохранить или создать.

введите описание изображения здесь

С такой кодировкой:

 text = str(bbas   l).encode('UTF-8')
hash_md5 = hashlib.md5(text).hexdigest()
md5_encode = hash_md5.encode('UTF-8')
hash_sha1 = hashlib.sha1(md5_encode).hexdigest()
location_source = hash_sha1[0:6]
 

Но кроме этих символов amp; # ‘
введите описание изображения здесь
введите описание изображения здесь

Как исправить код для анализа данных, чтобы принимать символы amp; # ‘? С уважением, Фаузи

Комментарии:

1. eval() не имеет никакого отношения к обработке пользовательского ввода. Используйте для этого установленный и безопасный формат, такой как JSON.

Ответ №1:

Параметры, добавленные в URL-адрес, должны быть закодированы в URL-адрес. Используйте urllib.parse.quote для python3, urllib.urlencode для python2.

Как уже упоминалось в комментариях, лучше не использовать eval() для данных, полученных через ваш API — сериализуйте их вместо этого с помощью чего-то вроде JSON.

Комментарии:

1. Как уже упоминалось, я использовал JSON вместо метода «POST» с «Типом содержимого»: «приложение/json». Я попытался преобразовать символы в URL-адресе, используя & дляamp;, # для # и » для «. Это работает. Но это не рекомендуется для пользователя.