Requset Payload в POST-запросе



  • Всем привет!
    На одном из сайтов столкнулся с тем, что данные в POST-запросе отправляются не через форму, а через Requset Payload.
    Кто-то сталкивался с таким? Как это эмулировать в BAS?



  • Разобрался самостоятельно.
    Для тех, кому будет интересно, ну и на будущее.

    Request Payload - это просто текст в post-data. Т.е. он отправляется не в формате параметр-значение, а просто как текст. В моем случае все параметры и значения были заключены в этом тексте. Думаю, в большинстве случаев у всех будет так. Обработчик на сервере этот текст кушает и парсит на значения.
    В моем случае текст разделялся строчкой boundary, состоящей из набора символов латинского алфавита обоих регистров и цифр. Сперва, мне думалось, что эту строку нужно генерировать, но, как оказалось, можно просто повторить одну из предыдущих. Она работает как простой разделитель. Также эта строчка была указана в заголовке content-type.

    Ещё читал, что иногда вышеописанный текст отправляется в формате json.

    Если ещё будут вопросы - пишите тут или в лс. На тему подписан.



  • @xclsv Иногда и ответ приходит в формате json после поста)) Кушает не всегда. Иногда надо в заголовки добавлять длину. alt text. Бывало пустой отправишь не понимает))



  • А никто не знает как Подставить заголовки из браузера ву http клиент а то справка по этому поводу еще не написана



  • @danysvoy Вы хотите fingerprint перенести? выполнить код

    var json = JSON.parse([[FINGERPRINT]])
    [[USER_AGENT]] = json.ua
    

    Это получение user-agenta
    Ну и подставляете его себе. список ключей тут
    fingerprint



  • Я хочу получить заголовки страницы и передать их уже пост запросом для того что бы ускорить работу скрипта



  • @danysvoy Если вы перед началом работы браузера получаете fingerptint то так как я указал. Если вы вносите свой то наверное вы знаете его?
    Ну хорошо вам хотчется оригинально? alt text
    Заходите браузером дальше работаете на пост гетах



  • Спасибо)))



  • @allive
    Во многих случаях это действительно спасет положение, но не всегда.
    Как Вы успели заметить, иногда в заголовках необходимо передать и длину запроса.
    Fingerprint никогда не пользовался. Он умеет это делать?



  • @xclsv длина запроса считается сама, не нудно ее дополнительно указывать



  • @drprime На скрине все в заголовке, ВСЕ указанны принудительно. Если оставить как есть по умолчанию он отправить меньше половины из них. А это не гуд. Кстати когда экшеном получить заголовки lenght он укажет полученный, а не тот что готовится к отправке. Считать надо POST_DATA длинна и в заголовок.



  • @xclsv Любой браузер умеет. Fingerprint всего лишь отпечаток. Т.е. продвинутая версия юзер-агента. Конечно умеет и делает, и стандартный, и мультилогин. Смотрит что сервак просит и делает. Эти танцы надо устраивать для http клиента.