[google-chrome] XHR 크롬 / 파이어 폭스 등을 편집하고 재생합니까?

브라우저에서 XHR 요청을 변경하고 다시 재생하는 방법을 찾고있었습니다. 브라우저에서 POST 요청이 완료되었다고 가정하고 변경하려는 유일한 것은 작은 값이고 다시 재생한다고 가정하십시오. 이것은 브라우저에서 직접 수행하는 것이 훨씬 쉽고 빠릅니다.

나는 구글을 조금 둘러 본 적이 있지만 크롬이나 파이어 폭스에서 이것을 할 수있는 방법을 찾지 못했습니다. 해당 브라우저 중 하나 또는 다른 브라우저에서 수행 할 수있는 방법이 있습니까?



답변

크롬 :

  • devtools의 네트워크 패널에서 마우스 오른쪽 버튼을 클릭하고 cURL로 복사를 선택하십시오.
  • 요청을 붙여 넣거나 편집 한 다음 curl명령 이 있다고 가정하면 터미널에서 요청을 보냅니다.

캡처 참조 :

여기에 이미지 설명을 입력하십시오

또는 웹 페이지 컨텍스트에서 요청을 보내야하는 경우 “페치로 복사”를 선택 하고 Javascript 콘솔 패널에서 컨텐츠를 편집하여 보냅니다.

Firefox :

Firefox는 네트워크 패널에서 바로 XHR을 편집하고 다시 보낼 수 있습니다. 아래 캡처는 Firefox 36에서 가져온 것입니다.

여기에 이미지 설명을 입력하십시오


답변

Chrome은 이제 버전 67에서 가져 오기복사를 갖습니다 .

가져 오기로 복사

네트워크 요청을 마우스 오른쪽 단추로 클릭 한 후 복사> 가져 오기 로 복사 를 선택 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"
});

차이점은 cURL으로 복사 에는 모든 요청 헤더 (예 : 쿠키 및 수락)도 포함되며 Chrome 외부에서 요청을 재생하는 데 적합합니다. 이 fetch()코드는 동일한 브라우저 내에서 재생하는 데 적합합니다.


답변

내 두 가지 제안 :

  1. 크롬의 우편 배달부 플러그인 +를 우체부 인터셉터 플러그인 . 추가 정보 : 우편 배달부 캡처 요청 문서

  2. Windows를 사용하는 경우 Telerik ‘s Fiddler가 옵션입니다. http 요청을 재생하는 작곡가 옵션이 있으며 무료입니다.


답변

zszep 답변 업데이트 / 완료 :

요청을 cUrl (bash)로 복사 한 후 Postman 앱 에서 가져 오기만하면됩니다 .

여기에 이미지 설명을 입력하십시오


답변

Firefox의 경우 문제가 자체적으로 해결되었습니다. “편집 및 재전송”기능이 구현되어 있습니다.

Chrome Tamper 확장의 경우 트릭을 수행하는 것 같습니다.


답변

5 년이 지났으며 Chrome 개발자는이 필수 요구 사항을 무시하지 않았습니다.
Firefox와 같이 데이터를 편집 할 수있는 방법은 없지만 전체 XHR 재생을 제공합니다.
이를 통해 Ajax 호출을 디버그 할 수 있습니다.
“Replay XHR”은 전체 전송을 반복합니다.
여기에 이미지 설명을 입력하십시오


답변

위에서 언급했듯이 몇 가지 방법이 있지만 XHR 요청을 조작하고 다시 보내는 가장 좋은 방법은 크롬 개발 도구를 사용하여 요청을 cURL 요청으로 복사하는 것입니다 (네트워크 탭에서 요청을 마우스 오른쪽 버튼으로 클릭) ) 및 Postman 앱으로 가져 오기만하면됩니다 (왼쪽 상단의 거대한 가져 오기 버튼).