Отправка POST-запроса RAW-данных с помощью HTML-формы?

Вопрос:Мне нужно отправить необработанные данные в тело запроса POST в Webservice. Могу ли я выполнить это с помощью HTML-формы? Использование стандартного поля ввода HTML, по-видимому, неизбежно генерирует тело POST формы =, тогда как я просто хотел бы отправить сообщение . Нужно ли прибегать к выполнению этого запроса с помощью javascript? Лучший ответ: Можно ли выполнить

Вопрос:

Мне нужно отправить необработанные данные в тело запроса POST в Webservice. Могу ли я выполнить это с помощью HTML-формы?

Использование стандартного поля ввода HTML, по-видимому, неизбежно генерирует тело POST формы <name_of_input_field>=<DATA>, тогда как я просто хотел бы отправить сообщение <DATA>.

Нужно ли прибегать к выполнению этого запроса с помощью javascript?

Лучший ответ:

Можно ли выполнить это с помощью HTML-формы?

Нет.

Форма может отправлять данные приложения /x -www-form-urlencoded или multipart/form-data.

Если вы хотите использовать другой формат данных, вы должны начать смотреть на JavaScript и XHR (и подчиняться одной и той же политике происхождения и т.д.).

Лучше писать код на стороне сервера, чтобы принять одно из приведенных выше кодировок – нет недостатка в библиотеках, которые могут их декодировать.

Ответ №1

Здесь есть потенциальный хак. Если ваши данные либо имеют в себе natrual “=”, либо вы можете изменить его так, чтобы “=” можно было добавить каким-то безопасным способом, вы можете:

  • Установите формы enctype в text/plain
  • Задайте скрытый ввод с именем , взятым с начала вашего
    ваши данные, но исключая первый “=”
  • Задайте поля ввода значение для байта, который следует
    “=” до конца данных.

Источник, где я узнал об этом методе:

https://systemoverlord.com/2016/08/24/posting-json-with-an-html-form.html

Ответ №2

Еще, используйте CURL, wget или другие инструменты командной строки.

curl -X POST -d «Your raw body data» -H «Content-type: text/plain»

Оцените статью
Добавить комментарий