Помогите! Как узнать url всплывающего окна? Просматриваю код элемента (кнопки, которая его открывает), но там только такое: <button type="button" class="btn btn-success user-block__sign-link" data-toggle="modal" data-target="#auth">Войти <div class="ripple-wrapper"></div></button>
Нифига, и снифером смотрел, пришел к выводу, что страницу в браузере формирует js, который в нем же выполняется. Но как найти этот js? Через браузер я могу спокойно просмотреть код всплывающего элемента и увидеть, что мне нужно, но как открыть его в URL?
не пойму для чего вам это надо? Чтоб заполнить форму во всплывающем окне и отправить её? Или для чего?
спарсил я токен, но появилась проблема: -boundary указываетчся как параметр в заголовке content type как он формируется? выглядит так: ---------------------------4962140363242
Возникла такая же проблема. Можете рассказать, как вы её рышили? Можно ли как-то получить страницу, на которой уже выполнились все яваскрипты?
браузером рандомно нужен для того, чтобы разграничить разные части mutipart-запроса, например, два разных файла если ты пишешь какой-то парсер, то можешь просто захардкодить достаточно длинную уникальную строку чуть-чуть информации можешь найти в вики в примере и пару строк под примером https://ru.wikipedia.org/wiki/Multipart/form-data
Нужно смотреть не исходный код, а DOM-модель страницы. В разных браузерах инструменты для разработчика называются по-разному, но хоткеи обычно совпадают - Ctrl+Shift+I
если это мне, то я знаю как в ручную это сделать, а как это сделать во время парсинга програмно - не понятно
altai, это было всем. Программно можно выполнить JS интерпретатором или переписать код JS на нужный ЯП. Если интересует только AJAX, он перехватывается так же, как все остальные HTTP-запросы.
Есть такая фигня, открываешь сайт, печатать её в адресной строке после javascript:, и она пишет тебе все урлы js на сайте, которые ты видишь в алерте
А вот и рандомно, да не всегда. Написано же, по спец. Алгоритму. Как узнать алгоритм? Я подставил другие значения и запрос не проходит. Вообще зачем генерировать что-то? Как проверяется потом валидность сгенерированного значения?
Это вырвано из контекста, там другое написано. "boundary (граница) — это последовательность байтов, которая не должна встречаться внутри закодированного представления данных части." Все просто и понятно, никаких дополнительных условий нет. "Обычно клиент (браузер) генерирует эту последовательность случайно или по специальному алгоритму." В данном случае клиент - это твой софт. Как ты напишешь алгоритм, такой он и будет.
Алгоритм, как написали выше выбираешь ты сам Смотри В том случае, когда ты используешь application/x-www-form-urlencoded ты посылаешь несколько параметров разделенных амперсандом Code: param1=qwerty¶m2=123 Сервер получая такой запрос, знает, что между & и = находится название параметра, между = и & - значение и он может распарсить их Multipart/form-data часто используется для передачи файлов и никто не может гарантировать, что в бинарном формате твоего файла не встретится что-то вроде & или = Поэтому ты говоришь: сервер, смотри, я использую Asrf456BGe4h для разделения разных частей запроса Code: Content-Type: multipart/form-data; boundary=Asrf456BGe4h и дальше формируешь запрос Code: --Asrf456BGe4h Content-Disposition: form-data; name="DestAddress" (пустая строка) [email protected] --Asrf456BGe4h Content-Disposition: form-data; name="MessageTitle" (пустая строка) --Asrf456BGe4h Content-Disposition: form-data; name="MessageText" (пустая строка) Привет, Василий! Твой ручной лев, которого ты оставил у меня на прошлой неделе, разодрал весь мой диван. Пожалуйста забери его скорее! Во вложении две фотки с последствиями. --Asrf456BGe4h Content-Disposition: form-data; name="AttachedFile1"; filename="horror-photo-1.jpg" Content-Type: image/jpeg (пустая строка) (двоичное содержимое первой фотографии) --Asrf456BGe4h Content-Disposition: form-data; name="AttachedFile2"; filename="horror-photo-2.jpg" Content-Type: image/jpeg (пустая строка) (двоичное содержимое второй фотографии) --Asrf456BGe4h-- (отсутствующий эпилог - пустая строка) и сервер прочитав хедер content-type может распарсить этот запрос и при генерации boundary рандомно и достаточно большой длины с высокой долей вероятности не возникнет проблем с тем, что внутри приаттаченного файла есть данные, которые сломают серверу парсинг
Спасибо за подробное объяснение, я с этим уже и так разобрался, но. Отправляю, запрос с сайта, он проходит, нажимаю в просмотре заголовков реплей, меняю значение boundary в заголовке и в пост-запросе - вываливается ошибка, что вроде как неверный csrf токен, если значение boundary я не меняю, реплей проходит нормально