Редактировать и воспроизводить XHR chrome / firefox и т. д.?


Я искал способ изменить запрос XHR, сделанный в моем браузере, а затем повторить его снова. Скажем, у меня есть полный запрос POST в моем браузере, и единственное, что я хочу изменить, это небольшое значение, а затем воспроизвести его снова. Это будет намного проще и быстрее сделать прямо в браузере.

Я немного погуглил, и не нашел способа сделать это в Chrome или Firefox. Есть ли какой-то способ сделать это в один из этих браузеров, или может быть другая один?

5 72

5 ответов:

Chrome:

один из способов сделать это в Chrome может заключаться в том, чтобы скопировать запрос как cURL в сетевой панели инструментов разработчика и воспроизвести его с вашими изменениями в терминале, предполагая, что у вас есть . См. В разделе Запись :

enter image description here

Если вы ищете "рабочий процесс all-in-browser", вы можете установить расширение с именем "DevTools terminal", которое встроит ваш локальный терминал в браузер.

Firefox:

Firefox имеет это встроенное. Вы можете сделать свои изменения и повторно отправить XHR прямо с панели сети. Захват ниже взят из Firefox 36:

enter image description here

мои два предложения:

  1. плагин почтальона Chrome + the Почтальон Перехватчик Плагин. Дополнительная Информация:Почтальон Захватывает Запросы Docs

  2. Если вы находитесь на Windows, то скрипач Telerik является вариантом. Он имеет возможность композитора для воспроизведения http-запросов, и это бесплатно.

Chrome теперь имеет Копировать как fetch в версии 67:

Копировать как fetch

щелкните правой кнопкой мыши сетевой запрос, а затем выберите Копировать > Копировать Как Fetch скопировать fetch() - эквивалентный код для этого запроса в буфер обмена.

https://developers.google.com/web/updates/2018/04/devtools#fetch

пример вывода:

fetch("https://stackoverflow.com/posts/validate-body", {
  credentials: "include",
  headers: {},
  referrer: "https://stackoverflow.com/",
  referrerPolicy: "origin",
  body:
    "body=Chrome+now+has+_Copy+as+fetch_+in+version+67%3A%0A%0A%3E+Copy+as+fetch%0ARight-click+a+network+request+then+select+**Copy+%3E+Copy+As+Fetch**+to+copy+the+%60fetch()%60-equivalent+code+for+that+request+to+your+clipboard.%0A%0A&oldBody=&isQuestion=false",
  method: "POST",
  mode: "cors"
});

разница в том, что Копировать как скручиваемость также будет включать все заголовки запросов (например, Cookie и Accept) и подходит для воспроизведения запроса за пределами Chrome. Элемент fetch() код подходит для воспроизведения внутри того же браузера.

для Firefox проблема решена сама собой. В нем реализована функция "редактировать и повторно отправлять".

Для Chrome расширения Тампер кажется, сделать трюк.

есть несколько способов сделать это, как упоминалось выше, но по моему опыту лучший способ манипулировать запросом XHR и повторно отправить-это использовать инструменты chrome dev для копирования запроса в виде запроса cURL (щелкните правой кнопкой мыши на запросе на вкладке "Сеть") и просто импортировать в приложение Postman (гигантская кнопка импорта в левом верхнем углу).