Добавляя к этот ответ , команда echo
по умолчанию добавляет новую строку к своему выводу. Это добавляет \n
в конец ваших двоичных данных, поэтому curl также получит этот символ в качестве входных данных.
Чтобы избежать этого, вы можете использовать команду printf
или переключатель -n
следующим образом:
printf '\x03\xF1' | curl -X POST --data-binary @- http://foo.com
или
echo -en '\x03\xF1' | curl -X POST --data-binary @- http://foo.com
Таким образом, к вводу curl не будет добавлена новая строка, и байты, передаваемые curl, будут точно такими же, как вы передаете echo
.