В post запросе не обрабатываются переменные



  • Хотел сделать загрузку на сайт через пост запрос, в итоге когда прописываешь значение в Данных Запроса: ручками, все работает нормально. Если же ставишь туда переменные, то они не обрабатывается. Я уже думал что это я где-то опечатался, установил все данные в одну переменную, обработал их и скопировал из буфера обмена, после чего вставил в поле данные запроса, в таком случае все работает.
    А когда ставлю не данные а именно переменную в *Данные Запроса: опять ошибка, сайт в ответ пишет, нет данных.
    В урле переменная обрабатывается, там токен стоит.
    Что за дела? Это баг? Или может я чего не догоняю, первый раз через post запрос попробовал работать, разобрался, ручками все работает а через переменные не фурычит.



  • Наверное я неправильно сделал. Короче ситуация такая, добавил переменные с помощью баса, через данные запроса, имя/значения. Все заработала, я просто строку сначала добавлял руками а потом правил (вставлял переменные), и так не получалось. Странно как то это все.



  • @Samael_96
    Все верно. Переменные втыкаются только через Имя/значение. Можно пробовать и напрямую в строку данных запроса, но это, кмк сложнее, т.к. там обработка переменных немного отличается от общеиспользуемой в басе. Можешь попробовать повтыкать переменные и посмотреть, какой получается строка.
    Сам втыкаю через Имя/Значение. Все работает.



  • @xclsv Да, через имя/значение работает. По всей видимости там есть какой-то нюанс :) Как говорил Васильиваныч :)
    И я походу даже понял какой, переменные данная штуковина в кавычки не берет. А если сразу данные вставлять, то оно берет их еще и в кавычки "данные".
    Просто для меня эти post запросы вообще темный лес. Тем кто этим давно уже занимается наверное это отличие, должно быть как бы само собой разумеющимся.



  • @Samael_96 Подождите, насколько я понял вопрос, переменные можно добавлять в данные запроса. Вот пример.
    0_1492809453784_postvariables.xml



  • @support Dark Можно конечно, я их просто неправильно добавлял, сначала попробовал на чистых данных, а потом подменил их значение переменными, и у меня не получилось. А когда добавил через форму для добавления, все заработало. Я так понял данные берутся в кавычки "данные", а переменные ставятся без них, [[VAR]], и из-за этого выходит конфликт. За точность не ручаюсь, но какой-то нюанс там есть.



  • @Samael_96

    Я так понял данные берутся в кавычки "данные", а переменные ставятся без них, [[VAR]]

    Да, так и есть



  • Надо бы где-то указать этот момент. Я несколько часов потратил, не мог понять почему моя переменная не срабатывает.
    Я правил запрос, заново данные запроса добавить я конечно не догадался.



  • @support Столкнулся сейчас с небольшой проблемой. Если установить всё тело post-запроса в переменную, то BAS не отправит ни чего..
    Вот тестовый скрипт.
    0_1514230821867_forum91.png
    0_1514230833974_forum92.png

    [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?





  • @forall Получаем то что отправили:

     "data": "\"name\",\"value\""
    

    Но "form": {} всё равно пустая.

    В тестовом скрипте правильный ответ должен выглядеть так

    "form": { "name": "value" }
    


  • 0_1514234876108_fox.xml
    Неправильно данные отправлял



  • @forall Спасибо. Про application/x-www-form-urlencoded я и забыл.
    Чтобы отправить несколько данных форм, соединял амперсандом &.

    name=value&name2=value2&name3=value3
    

Log in to reply