Как вы отправляете 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.