|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 49
|
|||||||||||||||||||||
Кодировка в JSON, полученном POST запросом14.10.2015, 17:09. Показов 6865. Ответов 6
Метки нет (Все метки)
Пишу wsgi скрипт для mod_wsgi, прикрученного к Апачу. Скрипт должен принять POSTнутый JSON, отправить его некому API, получить ответ API и отправить его обратно, в исходную точку. Вот код:
Добавлено через 5 часов 6 минут Я на всякий случай еще раз поясню, что требуется. Требуется получить в распоряжение содержимое исходного JSON, он начинается так
Когда я декодирую его в UTF-8 с помощью .decode('utf-8') получается 'from%5Baddress%5D=%D0%'Когда я передаю это urllib.parse.unquote, которая должна превращать всякие %5B в нормальные символы, получается 'from[address]=\xd0\xa0'Вопрос - что делать с unquotнутой строкой, чтобы добиться исходного содержимого?
0
|
|||||||||||||||||||||
| 14.10.2015, 17:09 | |
|
Ответы с готовыми решениями:
6
Почему, используя модуль requests, нельзя одновременно одним post запросом передать files и json? Как отправить json post запросом и принят json в ответ? Отправка JSON на сервер POST запросом |
|
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
|
|||||||||||
| 14.10.2015, 23:20 | |||||||||||
Сообщение было отмечено mr sinister как решение
Решение
Попробуй это:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 49
|
||||||||||||||||
| 15.10.2015, 20:32 [ТС] | ||||||||||||||||
|
ivlevdenis, спасибо за совет по заданию параметров POSTинга. Благодаря им всё не-кириллическое в JSONе спокойно переживает передачу. Итак, результатом
К сожалению, если попытаться её POSTнуть, mod_wsgi вот так ругнётся tail -n 3 /var/log/apache2/error.log
[:error] File "/usr/lib/python3.4/http/client.py", line 1127, in _send_request
[:error] body = body.encode('iso-8859-1') [:error] UnicodeEncodeError: 'latin-1' codec can't encode characters in position 20-25: ordinal not in range(256) Вот весь Питоновый код, на всякий случай
0
|
||||||||||||||||
|
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
|
|
| 16.10.2015, 01:12 | |
|
headers = {'Content-type': 'application/json; charset=utf-8', 'Accept': 'application/json'}
1
|
|
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 49
|
|
| 16.10.2015, 22:15 [ТС] | |
|
ivlevdenis, Апач все так же ругается (UnicodeEncodeError)
0
|
|
|
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
|
|
| 16.10.2015, 22:18 | |
|
response_headers = [('Content-type', 'application/json; charset=utf-8')]
1
|
|
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 49
|
|
| 18.10.2015, 17:14 [ТС] | |
|
ivlevdenis, К сожалению, и это не помогло
Добавлено через 1 час 43 минуты Охохо, дурная моя голова. В общем, не надо ничего никуда декодировать. После ваших советов попробовал просто отсылать считанное из адресной строки data и все получилось. Во-первых, надо было внимательнее смотреть на объект, возвращаемый API, и выводить все его поля потому что текст ошибки (если она есть) хранится в message, а текст "ок" в поле status. Во-вторых, не надо было копаться в содержимом, приходящем к апачу, а просто передавать его в исходном виде. Спасибо вам, товарищ ivlevdenis
0
|
|
| 18.10.2015, 17:14 | |
|
Помогаю со студенческими работами здесь
7
Post json и не только json запрос по нажатию кнопки Авторизация post-запросом Проблема с POST запросом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|