क्रोम एक्सटेंशन में HTTP रिस्पॉन्स बॉडी कैसे प्राप्त करें
क्रोम एक्सटेंशन बैकग्राउंड स्क्रिप्ट के भीतर HTTP रिस्पॉन्स बॉडी पुनर्प्राप्त करना एक चुनौती पेश करता है। जबकि एक्सटेंशन chrome.webRequest.onBeforeRequest का उपयोग करके अनुरोध निकाय तक पहुंच सकता है, प्रतिक्रिया निकाय प्राप्त करना आम तौर पर संभव नहीं है।
इस सीमा को पार करने के लिए, एक रचनात्मक दृष्टिकोण में chrome.debugger API का लाभ उठाना शामिल है। यह एपीआई एक्सटेंशन को ब्राउज़र की नेटवर्क गतिविधि के साथ डीबग करने और इंटरैक्ट करने की अनुमति देता है। यहां एक विस्तृत कार्यान्वयन है:
// Attach to the current tab and enable network debugging.
chrome.tabs.query({ currentWindow: true, active: true }, tabs => {
chrome.debugger.attach({ tabId: tabs[0].id }, '1.0', debuggeeId => {
chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.enable');
});
});
// Listen for response received events.
chrome.debugger.onEvent.addListener((debuggeeId, message, params) => {
if (debuggeeId.tabId !== currentTab.id) return;
if (message === 'Network.responseReceived') {
// Get the response body by sending a command.
chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.getResponseBody', { requestId: params.requestId }, response => {
// The response body is now available.
// ... Process the response body ...
});
}
});
यह विधि आपको अतिरिक्त ब्राउज़र पृष्ठों या तृतीय-पक्ष सेवाओं की आवश्यकता के बिना HTTP प्रतिक्रिया निकाय को पुनः प्राप्त करने की अनुमति देती है। ध्यान दें कि जब आपका काम पूरा हो जाए तो आप chrome.debugger.detach का उपयोग करके डिबगिंग सत्र बंद कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3