網頁中的 API 請求是使用 XMLHttpRequest 發送的,所以要達成非常的簡單,只要偷偷改寫 XMLHttpRequest ,加入監聽事件即可:
而 readyState 為 4 時代表的是成功取得回應,所以只要透過這個就可以得到我們想要的資訊了
參考資料:
mdn - XMLHttpRequest
mdn - XMLHttpRequest: readyState property
(function () {
'use strict';
const xmlHttpRequest = window.XMLHttpRequest;
window.XMLHttpRequest = function () {
const httpRequest = new xmlHttpRequest();
httpRequest.addEventListener('readystatechange', function () {
xmlHttpRequestHandler(this);
}, false);
return httpRequest;
};
function xmlHttpRequestHandler(xmlHttpRequest) {
if (xmlHttpRequest.readyState === 4) {
console.log(`攔截到 API 請求: ${xmlHttpRequest.url}, 回應: ${xmlHttpRequest.responseText}`);
}
}
})();
而 readyState 為 4 時代表的是成功取得回應,所以只要透過這個就可以得到我們想要的資訊了
參考資料:
mdn - XMLHttpRequest
mdn - XMLHttpRequest: readyState property
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com