كيفية استرداد نص استجابة HTTP في ملحقات Chrome
يمثل استرداد نص استجابة HTTP داخل البرنامج النصي لخلفية ملحق Chrome تحديًا. على الرغم من أن الامتداد يمكنه الوصول إلى نص الطلب باستخدام chrome.webRequest.onBeforeRequest، إلا أن الحصول على نص الاستجابة غير ممكن عادةً.
للتغلب على هذا القيد، يتضمن النهج الإبداعي الاستفادة من واجهة برمجة تطبيقات chrome.debugger. تتيح واجهة برمجة التطبيقات هذه للإضافات تصحيح الأخطاء والتفاعل مع نشاط شبكة المتصفح. فيما يلي تنفيذ تفصيلي:
// 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