От Gennadij Pastuhov (2:5036/26) к Eugene Grosbein
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
GP>> $ curl '172.25.0.5:8080/preset-add' -H 'Content-Type:
GP>> application/json' --data
GP>> '{"name":"пресет4","name_en":"preset4"}'
GP>> FM::Common::WebIn155 form_data $VAR1 =
GP>> "{\"name\":\"\x{43f}\x{440}\x{435}\x{441}\x{435}\x{442}4\",\"name
GP>> _en\":\"preset4\"}";
GP>> А потом вдруг всё ломается и переходит на чтение побайтово:
GP>> $ curl '172.25.0.5:8080/preset-add' -H 'Content-Type:
GP>> application/json' --data
GP>> '{"name":"пресет5","name_en":"preset5"}'
GP>> FM::Common::WebIn155 form_data $VAR1 =
GP>> '{"name":"??N?чN?чN5","name_en":"preset5"}';
GP>> И последующие запросы идут только в таком формате. Что это может
GP>> быть?
EG> Воообще говоря, так делать не положено - задавать
EG> Content-Type с данными не в ASCII без указания кодировки.
EG> Hа стороне сервера при этом возможны разнообразные глюки и формально,
EG> сервер имеет на это право. Может пытаться или не пытаться продетектить
EG> Byte Order Mark (BOM: 0xEF, 0xBB,0xBF), может полагаться на дефолты и
EG> т.д.
EG> По нормальному положено указывать кодировку:
EG> ... -H 'Content-Type: application/json; charset=utf-8'
EG> --data-urlencode ...
EG> Потому что --data предназначено для передачи параметров в CGI
EG> и использует application/x-www-form-urlencoded,
EG> а тебе надо --data-urlencode.
... Jonny wanna live
--- GoldED+/W32 1.1.5-041013 xenofont.chat.ru skype pastuhovgena
* Origin: Тяжело в лечении - легко в гробу (2:5036/26)
Ответы на это письмо: