Requset Payload в POST-запросе
-
Всем привет!
На одном из сайтов столкнулся с тем, что данные в POST-запросе отправляются не через форму, а через Requset Payload.
Кто-то сталкивался с таким? Как это эмулировать в BAS?
-
Разобрался самостоятельно.
Для тех, кому будет интересно, ну и на будущее.Request Payload - это просто текст в post-data. Т.е. он отправляется не в формате параметр-значение, а просто как текст. В моем случае все параметры и значения были заключены в этом тексте. Думаю, в большинстве случаев у всех будет так. Обработчик на сервере этот текст кушает и парсит на значения.
В моем случае текст разделялся строчкой boundary, состоящей из набора символов латинского алфавита обоих регистров и цифр. Сперва, мне думалось, что эту строку нужно генерировать, но, как оказалось, можно просто повторить одну из предыдущих. Она работает как простой разделитель. Также эта строчка была указана в заголовке content-type.Ещё читал, что иногда вышеописанный текст отправляется в формате json.
Если ещё будут вопросы - пишите тут или в лс. На тему подписан.
-
@xclsv Иногда и ответ приходит в формате json после поста)) Кушает не всегда. Иногда надо в заголовки добавлять длину.
. Бывало пустой отправишь не понимает))
-
А никто не знает как Подставить заголовки из браузера ву http клиент а то справка по этому поводу еще не написана
-
@danysvoy Вы хотите fingerprint перенести? выполнить код
var json = JSON.parse([[FINGERPRINT]]) [[USER_AGENT]] = json.ua
Это получение user-agenta
Ну и подставляете его себе. список ключей тут
fingerprint
-
Я хочу получить заголовки страницы и передать их уже пост запросом для того что бы ускорить работу скрипта
-
@danysvoy Если вы перед началом работы браузера получаете fingerptint то так как я указал. Если вы вносите свой то наверное вы знаете его?
Ну хорошо вам хотчется оригинально?
Заходите браузером дальше работаете на пост гетах
-
Спасибо)))
-
@allive
Во многих случаях это действительно спасет положение, но не всегда.
Как Вы успели заметить, иногда в заголовках необходимо передать и длину запроса.
Fingerprint никогда не пользовался. Он умеет это делать?
-
@xclsv длина запроса считается сама, не нудно ее дополнительно указывать
-
@drprime На скрине все в заголовке, ВСЕ указанны принудительно. Если оставить как есть по умолчанию он отправить меньше половины из них. А это не гуд. Кстати когда экшеном получить заголовки lenght он укажет полученный, а не тот что готовится к отправке. Считать надо POST_DATA длинна и в заголовок.
-
@xclsv Любой браузер умеет. Fingerprint всего лишь отпечаток. Т.е. продвинутая версия юзер-агента. Конечно умеет и делает, и стандартный, и мультилогин. Смотрит что сервак просит и делает. Эти танцы надо устраивать для http клиента.