chrome.devtools.network

توضیحات

از chrome.devtools.network API برای بازیابی اطلاعات مربوط به درخواست های شبکه که توسط Developer Tools در پانل شبکه نمایش داده می شود، استفاده کنید.

آشکار

برای استفاده از این API باید کلیدهای زیر در مانیفست اعلان شوند.

"devtools_page"

برای آشنایی کلی با استفاده از Developer Tools APIs به خلاصه DevTools APIs مراجعه کنید.

نمای کلی

اطلاعات درخواست های شبکه در قالب آرشیو HTTP ( HAR ) نشان داده می شود. توضیحات HAR خارج از محدوده این سند است، لطفاً به مشخصات HAR v1.2 مراجعه کنید.

از نظر HAR، متد chrome.devtools.network.getHAR() کل گزارش HAR را برمی گرداند، در حالی که رویداد chrome.devtools.network.onRequestFinished ورودی HAR را به عنوان یک آرگومان برای پاسخ تماس رویداد فراهم می کند.

توجه داشته باشید که محتوای درخواست به دلایل کارایی به عنوان بخشی از HAR ارائه نمی شود. می توانید برای بازیابی محتوا، متد getContent() درخواست را فراخوانی کنید.

اگر پنجره Developer Tools پس از بارگیری صفحه باز شود، ممکن است برخی از درخواست‌ها در آرایه ورودی‌های بازگردانده شده توسط getHAR() وجود نداشته باشند. صفحه را دوباره بارگیری کنید تا همه درخواست ها را دریافت کنید. به طور کلی، لیست درخواست هایی که توسط getHAR() برگردانده می شود باید با آنچه در پنل شبکه نمایش داده می شود مطابقت داشته باشد.

نمونه ها

کد زیر آدرس‌های اینترنتی تمام تصاویر بزرگ‌تر از 40 کیلوبایت را هنگام بارگذاری ثبت می‌کند:

chrome.devtools.network.onRequestFinished.addListener(
  function(request) {
    if (request.response.bodySize > 40*1024) {
      chrome.devtools.inspectedWindow.eval(
          'console.log("Large image: " + unescape("' +
          escape(request.request.url) + '"))');
    }
  }
);

برای امتحان کردن این API، نمونه‌های برنامه‌نویس برنامه کاربردی را از مخزن chrome-extension-samples نصب کنید.

انواع

Request

یک درخواست شبکه برای منبع سند (اسکریپت، تصویر و غیره) را نشان می دهد. برای مرجع به مشخصات HAR مراجعه کنید.

خواص

  • دریافت محتوا

    باطل

    محتوای بدنه پاسخ را برمی‌گرداند.

    تابع getContent به شکل زیر است:

    (callback: function) => {...}

    • پاسخ به تماس

      تابع

      پارامتر callback به نظر می رسد:

      (content: string, encoding: string) => void

      • محتوا

        رشته

        محتوای بدنه پاسخ (بالقوه رمزگذاری شده).

      • رمزگذاری

        رشته

        اگر محتوا کدگذاری نشده باشد، خالی، نام رمزگذاری در غیر این صورت. در حال حاضر، فقط base64 پشتیبانی می شود.

روش ها

getHAR()

chrome.devtools.network.getHAR(
  callback: function,
)

گزارش HAR را که شامل تمام درخواست های شبکه شناخته شده است برمی گرداند.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (harLog: object) => void

    • هارلوگ

      شی

      ورود به سیستم HAR. برای جزئیات بیشتر به مشخصات HAR مراجعه کنید.

رویدادها

onNavigated

chrome.devtools.network.onNavigated.addListener(
  callback: function,
)

هنگامی که پنجره بازرسی شده به صفحه جدیدی هدایت می شود فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (url: string) => void

    • آدرس اینترنتی

      رشته

onRequestFinished

chrome.devtools.network.onRequestFinished.addListener(
  callback: function,
)

هنگامی که درخواست شبکه تمام شد و تمام داده های درخواست در دسترس هستند فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (request: Request) => void