Как вы отправляете POST с помощью WizTools Rest Client?
Как вы отправляете запрос POST с помощью клиента REST WizTools?
Я пытаюсь выполнить POST два значения, которые будут проанализированы с помощью моего PHP script и эхо-ответа json-encoded. Это два примерных значения:
$_POST['function'] = "sampleTestFunction";
$_POST['username'] = "Dom";
Я уверен, что конечная точка url работает (если я жестко кодирую значения, показывает json-закодированный ответ), но я не могу понять, как отправлять значения из WizTools.
Ответы
Ответ 1
Выберите "POST" на вкладке "Метод" на вкладке "Тело", выберите "Строковое тело" в раскрывающемся списке и нажмите кнопку "Вставить параметр" (последняя кнопка рядом с текстовым полем "Текстовое кодирование содержимого" ). Вам будет предложено установить Content-type в application/x-www-form-urlencoded. Вы могли бы ответить утвердительно, чтобы имитировать пост HTML-формы.
Ответ 2
По сути, мне пришлось перейти к спецификациям w3c для элемента FORM:
http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4
Тип enc (тип кодирования) должен быть установлен в application/x-www-form-urlencoded при использовании инструмента для имитации стандартного представления нефайловой формы.
В основной части представления данные должны быть аналогичны представлению GET, при этом значения ключа разделяются знаком равенства (=) и добавляются с амперсандом (&).
Пример части тела:
имя = domtancredi & рок = вкл
Здесь выдержка:
Это тип содержимого по умолчанию. Формы, представленные с этим контентом тип должен быть закодирован следующим образом:
Управляющие имена и значения экранируются. Символы пространства заменяются на +', and then reserved characters are escaped as described in
[RFC1738], section 2.2: Non-alphanumeric characters are replaced by
% HH ', знак процента и две шестнадцатеричные цифры, представляющие ASCII-код персонажа. Разрывы строк представлены как "CR LF" пары (т.е. %0D%0A'). The control names/values are listed in the
order they appear in the document. The name is separated from the
value by
= ', а пары имя/значение разделены друг от друга на `& Амп;.
Ответ 3
В моем случае я пытался отправить объект JSON в службу REST с помощью POST.
В WIZTools RESTClient я сделал следующее:
- Установить → POST в первой вкладке
- На вкладке BODY выберите → StringBody из раскрывающегося списка
- На вкладке BODY отредактируйте ContentType и CharSet и установите в → Приложение /Json
- На вкладке BODY я ввел строку JSON:
Пример → { "ParamOne": "value01", "ParamTwo": "666" }
В моем случае мне пришлось установить AUTH на NTLM.
Ответ 4
Я никогда раньше не использовал клиента, но я нашел учебник, который мог бы вам помочь. Сначала убедитесь, что вы правильно аутентифицировали клиента, а затем следуйте части 2 учебника относительно метода post. Просто убедитесь, что вы все правильно отредактировали и не забудьте установить тип содержимого application/xml
и charset на UTF-8
.