Кроме работы с профилями есть способы?
Вопрос по работе с запросами (post)
-
Приветствую, недавно я начал пользоваться сторонним софтом для перехвата запросов на одном сайте и незначительного их редактирования
После проделывания определенных действий на сайте (кликов на элементы) я включаю софт и он ловит запрос
POST /store/buynow?ms-cv=tzyfJCv2uEULcHjJ%2B%2FgIzc.55&noCanonical=true&market=US&locale=en-US&clientName=$UNKNOWN$Com HTTP/2 Host: www.unknown.com Cookie: MC1=GUID=c6f3470bbfaa4f4fb73bedb31e73ccde&HASH=c6f3&LV=202312&V=4&LU=1704024825343; cartMuid=38D1E676151A617416C4F58E14206087; uknownTelemetryDeviceId=59381fc7-f7e0-4584-b82f-3d685c4557f0; ANON=A=63E769D238484C5818E5AD08FFFFFFFF&E=1d3c&W=2; NAP=V=1.9&E=1ce2&C=O79_MzBcd5WRGNcc9bg2a3gNs_kwnlougE17d_X656obeJks5ZT_pA&W=2; akacd_OneRF=1711801884~rv=17~id=988876813988b823e61e005b813177e0; MUID=1F1227D0E3C76B2A2D783428E24C6AB1; MSFPC=GUID=c6f3470bbfaa4f4fb73bedb31e73ccde&HASH=c6f3&LV=202312&V=4&LU=1704024825343; MS0=677297306af243268c25e33e8c3ba710; ai_session=QuNnXxvD/ZFx2xih93NObD|1704039414274|1704039414274 Content-Length: 3067 Cache-Control: max-age=0 Sec-Ch-Ua: "Chromium";v="119", "Not?A_Brand";v="24" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Windows" Upgrade-Insecure-Requests: 1 Origin: https://www.$UNKNOWN$.com Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.199 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: cross-site Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: iframe Referer: https://www.$UNKNOWN$.com/ Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Priority: u=0, i data=%7B%22products%22%3A%5B%7B%22productId%22%3A%229NB54XTF084M%22%2C%22skuId%22%3A%220010%22%2C%22availabilityId%22%3A%229P4BX9TM0HZ3%22%7D%5D%2C%22campaignId%22%3A%22$UNKNOWN$comct%22%2C%22callerApplicationId%22%3A%22$UNKNOWN$Com%22%2C%22expId%22%3A%5B%22EX%3Asc_$UNKNOWN$gamepad%22%2C%22EX%3Asc_$UNKNOWN$spinner%22%2C%22EX%3Asc_$UNKNOWN$closebutton%22%2C%22EX%3Asc_$UNKNOWN$uiexp%22%2C%22EX%3Asc_disabledefaultstyles%22%2C%22EX%3Asc_gamertaggifting%22%5D%2C%22flights%22%3A%5B%22sc_$UNKNOWN$gamepad%22%2C%22sc_$UNKNOWN$spinner%22%2C%22sc_$UNKNOWN$closebutton%22%2C%22sc_$UNKNOWN$uiexp%22%2C%22sc_disabledefaultstyles%22%2C%22sc_gamertaggifting%22%5D%2C%22clientType%22%3A%22$UNKNOWN$Com%22%2C%22data%22%3A%7B%22usePurchaseSdk%22%3Atrue%7D%2C%22layout%22%3A%22Modal%22%2C%22cssOverride%22%3A%22$UNKNOWN$Com2NewUI%22%2C%22theme%22%3A%22dark%22%2C%22scenario%22%3A%22gift%22%2C%22suppressGiftThankYouPage%22%3Atrue%7D&auth=%7B%22XToken%22%3A%22XBL3.0+x%3D26905049464691295%3BeyJlbmMiOiJBMTI4Q0JDK0hTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJjdHkiOiJKV1QiLCJ6aXAiOiJERUYiLCJ4NXQiOiJZWXpaQjVNSEo2VHUtZ0w0ZlhkWWhUN3dINVEifQ.m0sYmz3gRWIi01RpET9_XHy6Z2a8c1DR31brwfBTqtVbUExjHaJYQ9QP26ySBmkdvOIojSSOUB-yoXCY2zTiQblVKjDGc4ENDfpi6RbMFreuiSC9ZHofAM-DsF2m99_5YvI6IDNoCt8YxiSJwRNTNh1k7vYUmLx7exQKhnHLZG9Q526Z446Gg6GJT41Y_J49-aP_VsHflWXOEQ806HWC1kIl8Lx6btGrc-bhNdAiQlYQeb0tIL1qKkSK98RjjxT8IPNRiru8wp_Fpoj38SevETXNmk490xrjjkGEwmFwpHR2yVErbBktI_1LkA0zpuzMAdYm6V5tlYxpkFLaNoj53w.luYNXXS0X9uPw2Vi9KebbQ.sp4uE7OuC1cWN8Q_mAfSVUZkwKfYnuVZ1VRSCbG0LhzVlTziTWIeECUDR6A2OjpYbvlUwpAW6k9zxTXBP8hXblwpRlBwhJaqAzz77OwQpTjx2omwNrnatbuYTzq548nzf5UJmB6r62Nl4zRKnbEPbwxthJ60vRqNQ5BXlZdJXdg_29guNQFrqoaBuS7MNTGtQ_mWuKG0v0Xyww-DTwthbazDqT6QqRNC8YYI2jzj5flvFqBa-FeZCRK2yxisf-G3w8vf7c9H-_PdZp2SdZ0BlOq_xqERToI8PgAaxS1RTudwRcxDNdfGbwrbxVh-V7oMlrM7i9yiHFISIoZLHa28pxyJjSdxQ4cABEF5nZs4h92uSeF_DCO3efUOP7N4R7COnpQ8himjh83ebDeT-irbwTfTcpZZUaIM_3IgtubFVUdUIn9SyDwQjn1C6bstE3kR55Ds021bZ_1OaGdBF47Rr6LMj28gJQS8TCeEaIXVumaV1vm2eoE7yHTSt1r50kyrQbaafau8vyz02ggNSk2klTbmaqAzmrOzHQ3SYsAvTW-e9dwkrcrfHvcpri98_2Bxz0jFo_cLVXsb0gz6VHst-TsPx9AKctPsbpKXpiAZ25gHMgCnxNKOz08oiw0IPD7Ft_tseooK2VUmnqUPE9SLBp_vHsMc6HCjlY_hUr9jY64Zb-Ho2YGYM0sjabQPinRP-1t3fnSnUXFnEAfSSuEPtk6Pp1ZCLx-uJ6n2qz4UfgVVaRuxNONsIhLhPWUHnh_LvF_qIMKjJc-dbLNmrKKDKo3RLDpl0DY7CJv1SRRXlwMjZMA635BlOJ-f-cH5shYKnQrdjP27iRfdvgBFaFEhfHc2WbGd3Um-T08N8JkQ2-7C943P2BCyaM_ja8OegnBmsZkkRSH8IZBPT65lRY84hLmm-JdwpYdAocViZsOwBpwRHs_gQZY9IEGByQtEEhDKQU-w01YkBTL6tU0mRuLkNvRcMowcq0kIuG6tZ5uvJDa8TLmagkA0mDmCkV2G_4hftEnBatX42kJEP_Ifl6GZ9TPGsZNeCzz8fYsoSmeaI3btWnx8YvNrYQZ4uWkjbVYlD3i2tuGiL0MaIJyCXWpxPWWjUsqvFafr5mV_GfDtf8zw5K2fsDgUPr9Iz8LiOdEHcDLUJojrEXBwyGbdriF9b-r8L81eAaer_HJyTXanU0rxQ3i4yvWiKb-rtRMDxNi7dIgLd2fHmaEYXAt1ciTQjgHs0xnQ6PAr0Gjg4QbnkauskHr4yi5NuMVCA6QKmPWV5NGzYfZmNSjBA3FD-NzGHeK40bzbTsAqnrjmns99ZyrJsepnG76_Kt6_Yi0f3ibwdz4-juq5ICG5acHS_QVv6-9TFeIVCv09zIiWk8kLi-Si1dx_f9Pu8vqvHgvF4a6GJl6G8RO8sXPvc7c7Vtky6ncca02Wm0jADf6Xwy9LK6_ZLFOKKovP90hd0a7bfTc092hBL5_eG6YSiJ_v0vNQLSMRnf6pFgABexvTQyYXC_Gg4YMF61M8CNZhpK_PslirMh_7_Ip2xPD1421oqaxddicza7_UZAFtsoMcy4FexFtGi566RRadvLQbJFpYqn2D.TRuuTVibfipkwjCvzOaaBdVfAR_254Jpxx1uuJNxlI4%22%7DПосле я меняю значение US в пост запросе (&market=US&) на &market=HE&
И на этом вся работа с запросом заканчиваетсявопрос, как мне после проделывания этих же действий в басе "поймать" этот запрос и отредактировать его?
Буду крайне благодарен за любую помощь -
делаем запросы в браузере, "Получить последний элемент кэша" по маске вашего сайта, распарсить этот запрос через json, потом "заменить строку" нужной вам переменной (юрл), другие данные спарсить по типу заголовков и т.д, "загрузить cookie из браузера" или "установить заголовок". Создать пост запрос с нужными данными которые вы спарсили, замененными, не забудьте прокси для клиента устанавливаются отдельно от браузера
-
@qwe123123
Накинь манкипатч. Вот пример на фетч.const { fetch: fetch_ } = window; window.fetch = function (...args) { console.log("Вызов fetch перехвачен:", ...args); let [resource, config ] = args; resource = 'https://httpbin.org/headers' console.log("Вызов fetch перехвачен:", [resource, config]); return fetch_(resource, config); }.bind(window.fetch); -
@Metaferssance Большое спасибо за отклик, но у меня чуть другая задача
Еесли я все это распаршу и заюзаю по твоему гайду - то запрос уже улетит, c которого кэш генерился
И если я отправлю заново те же самые параметры - сработает фрод и система меня пошлетЕсть ли какая-нибудь возможность в басе получить определенный запрос с параметрами, после чего заморозить его (не отправлять обратно) изменить значения в пост запросе и отправить его теми же остальными параметрами
Я извиняюсь если криво изъясняюсь, честно, вообще во всей этой теме с запросами впервые копаюсь)
-
пообщался с нейронкой, выдала такой ответ исходя из примера выше с манкипатчемм, адаптировано для bas, ибо не поддерживает напрямую использование сервис-воркеров в среде (по крайней мере так думает нейронка)
В Browser Automation Studio (BAS), чтобы отложить отправку запроса до момента его изменения, вы можете использовать JavaScript код для перехвата запроса и изменения параметра. Для этого вы можете воспользоваться событием beforeSendRequest. Пример кода, который можно вставить в среду Browser Automation Studio: javascript Copy code // Функция для изменения параметра "market" function modifyMarketParameter(request) { // Получение параметров из URL var url = new URL(request.url); var params = new URLSearchParams(url.search); // Замена параметра &market=US на &market=AR params.set('market', 'AR'); // Установка новых параметров в URL url.search = params.toString(); // Замена URL в запросе request.url = url.toString(); return request; } // Перехватчик перед отправкой запроса window.addEventListener('beforeSendRequest', function(event) { // Вызов функции для изменения параметра "market" event.request = modifyMarketParameter(event.request); });люди добрые, подскажите пожалуйста, куда и как мне это вообще вставить?)
Впервые с запросами сталкиваюсьВот у меня есть действие на сайте - именно после его выполнения (прожатия по элементу) приходит запрос который и необходимо перехватить и заменить в нем "ссылку"
как мне это все реализовать -
Вот выдала алгоритм уже, что и как в басе самом добавлять
Но я искренне не понимаю что она имеет ввиду под блок "перехват запроса" и как это все накидать в басе
такого кубика я не нашелДобавьте блок "Открыть сайт" (Open Site). Укажите URL страницы, на которой вы хотите выполнить изменение параметра "market". Выполнение JavaScript кода: Добавьте блок "Выполнить Javascript" (Execute JavaScript). Вставьте JavaScript код, который был предоставлен в предыдущем ответе, в поле "JavaScript Code". Перехват запроса: Добавьте блок "Перехват запроса" (Request Interceptor). В этом блоке укажите необходимые условия, при которых запрос будет перехвачен. Например, вы можете использовать условие "Если URL содержит" и указать часть URL, где меняется параметр "market". Изменение параметра "market": Внутри блока "Перехват запроса" добавьте блок "Выполнить Javascript". Используйте JavaScript код для изменения параметра "market" в соответствии с предыдущим примером. Отправка измененного запроса: После блока "Перехват запроса" добавьте блок "Отправить запрос" (Send Request). Укажите нужные параметры запроса (URL, метод, заголовки, тело запроса и т. д.). Дополнительные действия: В зависимости от вашего сценария, вам может потребоваться добавить дополнительные действия. Например, сохранение ответа, обработка ошибок и так далее. -
@qwe123123 said in Вопрос по работе с запросами (post):
по крайней мере так думает нейронка
Нейронка, когда имеет мало знаний по заданному вопросу (например про БАС) начинает выдумывать правдобный бредокод, поэтому чтобы использовать нейронку хорошо бы самому разбираться в этом вопросе )