В post запросе не обрабатываются переменные
-
Хотел сделать загрузку на сайт через пост запрос, в итоге когда прописываешь значение в Данных Запроса: ручками, все работает нормально. Если же ставишь туда переменные, то они не обрабатывается. Я уже думал что это я где-то опечатался, установил все данные в одну переменную, обработал их и скопировал из буфера обмена, после чего вставил в поле данные запроса, в таком случае все работает.
А когда ставлю не данные а именно переменную в *Данные Запроса: опять ошибка, сайт в ответ пишет, нет данных.
В урле переменная обрабатывается, там токен стоит.
Что за дела? Это баг? Или может я чего не догоняю, первый раз через post запрос попробовал работать, разобрался, ручками все работает а через переменные не фурычит.
-
Наверное я неправильно сделал. Короче ситуация такая, добавил переменные с помощью баса, через данные запроса, имя/значения. Все заработала, я просто строку сначала добавлял руками а потом правил (вставлял переменные), и так не получалось. Странно как то это все.
-
@Samael_96
Все верно. Переменные втыкаются только через Имя/значение. Можно пробовать и напрямую в строку данных запроса, но это, кмк сложнее, т.к. там обработка переменных немного отличается от общеиспользуемой в басе. Можешь попробовать повтыкать переменные и посмотреть, какой получается строка.
Сам втыкаю через Имя/Значение. Все работает.
-
@xclsv Да, через имя/значение работает. По всей видимости там есть какой-то нюанс :) Как говорил Васильиваныч :)
И я походу даже понял какой, переменные данная штуковина в кавычки не берет. А если сразу данные вставлять, то оно берет их еще и в кавычки "данные".
Просто для меня эти post запросы вообще темный лес. Тем кто этим давно уже занимается наверное это отличие, должно быть как бы само собой разумеющимся.
-
@Samael_96 Подождите, насколько я понял вопрос, переменные можно добавлять в данные запроса. Вот пример.
0_1492809453784_postvariables.xml
-
@support Dark Можно конечно, я их просто неправильно добавлял, сначала попробовал на чистых данных, а потом подменил их значение переменными, и у меня не получилось. А когда добавил через форму для добавления, все заработало. Я так понял данные берутся в кавычки "данные", а переменные ставятся без них, [[VAR]], и из-за этого выходит конфликт. За точность не ручаюсь, но какой-то нюанс там есть.
-
Я так понял данные берутся в кавычки "данные", а переменные ставятся без них, [[VAR]]
Да, так и есть
-
Надо бы где-то указать этот момент. Я несколько часов потратил, не мог понять почему моя переменная не срабатывает.
Я правил запрос, заново данные запроса добавить я конечно не догадался.
-
@support Столкнулся сейчас с небольшой проблемой. Если установить всё тело post-запроса в переменную, то BAS не отправит ни чего..
Вот тестовый скрипт.
[387294510] [00:33:08] Поток №1 : Устанавливаем Имя и Данные из переменной. [289406020] [00:33:08] Поток №1 : { "args": {}, "data": "", "files": {}, "form": { "name": "value" }, "headers": { "Accept": "*/*", "Connection": "close", "Content-Length": "10", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org" }, "json": null, "origin": "94.50.6.175", "url": "http://httpbin.org/post" } [807486182] [00:33:08] Поток №1 : Устанавливаем в одну переменную всё тело запроса. [779366424] [00:33:09] Поток №1 : { "args": {}, "data": "", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Connection": "close", "Content-Length": "0", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org" }, "json": null, "origin": "94.50.6.175", "url": "http://httpbin.org/post" } [581146661] [00:33:09] Поток №1 : Отправляем просто текстом данные. [362655184] [00:33:10] Поток №1 : { "args": {}, "data": "", "files": {}, "form": { "name": "value" }, "headers": { "Accept": "*/*", "Connection": "close", "Content-Length": "10", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org" }, "json": null, "origin": "94.50.6.175", "url": "http://httpbin.org/post" }
-
Data надо добавить
-
@forall м? Где и какую Data?
-
@Fox
https://wiki.bablosoft.com/doku.php?id=how_to_make_post_request
"data",[[lalala]]
Custom
-
@forall Получаем то что отправили:
"data": "\"name\",\"value\""
Но "form": {} всё равно пустая.
В тестовом скрипте правильный ответ должен выглядеть так
"form": { "name": "value" }
-
0_1514234876108_fox.xml
Неправильно данные отправлял
-
@forall Спасибо. Про application/x-www-form-urlencoded я и забыл.
Чтобы отправить несколько данных форм, соединял амперсандом &.name=value&name2=value2&name3=value3