Как в расширении для Chrome читать GET/POST запросы?

Я хочу добавить в своё расширение возможность чтения и отображения http запросов. Во время каждого запроса веб-страницы расширение должно прочитать этот запрос и отобразить его в консоли.

Мой код выглядит следующим образом:

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
            console.log(JSON.stringify(details));
    },
    {urls: ["<all_urls>"]},
    ["blocking", "requestBody"]
);

Но он не отображает никакого результата, консоль пуста, ошибок нет, просто ничего.
Мой manifest.json:
{
    "manifest_version": 2,
    "name": "Some_Extension",
    "version": "1.2",
  
    "content_scripts": [{"matches": ["<all_urls>","http://*/*", "https://*/*"],"js": ["background.js"]}],
    "background": {
      
      "page": "background.html"
    },
  
      "permissions": [
      "alarms",
      "webRequest",
		"webRequestBlocking"
    ],
  
        "browser_action": {
          "default_title": "Some extension"
      },

      "icons": {
       "128": "icon.png" }
      
  }


Буду благодарен за решение этой проблемы.
  • Вопрос задан
  • 1821 просмотр
Решения вопроса 1
AlexMcArrow
@AlexMcArrow
Люблю РНР, да я такой!
Согласно документации в манифесте должны быть описаны разрешения для расширения (https://developer.chrome.com/extensions/webRequest)
как видно в примере:
{
        "name": "My extension",
        ...
        "permissions": [
          "webRequest",
          "*://*.google.com/"
        ],
        ...
      }

задается не только право на перехват запросов "webRequest" но и домены попадающие под правила
Полагаю вам подойдет:
{
    "manifest_version": 2,
    "name": "Some_Extension",
    "version": "1.2",
  
    "content_scripts": [{"matches": ["<all_urls>","http://*/*", "https://*/*"],"js": ["background.js"]}],
    "background": {
      
      "page": "background.html"
    },
  
      "permissions": [
      "alarms",
      "webRequest",
    "webRequestBlocking",
     "*://*.*/"
    ],
  
        "browser_action": {
          "default_title": "Some extension"
      },

      "icons": {
       "128": "icon.png" }
      
  }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы