Отправка URL-адресов браузера на сервер netcat из моего расширения Chrome

#google-chrome-extension #server #netcat

#google-chrome-расширение #сервер #netcat

Вопрос:

я пытаюсь создать плагин для отправки URL-адреса (когда я переключаю вкладку или открываю ) на свой сервер netcat, он прослушивает 127.0.0.1:4444 (netcat-l 4444), я создал 3 файла manifest.json

 "name": "Connector 4 Terminal",  "version": "1.0",  "description": "Connector 4 Terminal", "browser_action": { "default_popup": "popup.html", "default_icon":"icon.png"  },  "manifest_version":2, "permissions": [ "tabs", "lt;all_urlsgt;" ] }   background.js   chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { if (changeInfo != undefined) { var http = new XMLHttpRequest();   http.open("POST",  "127.0.0.1:4444",   true);  sendme = changeInfo.url  http.send(sendme); } alert(sendme); });   popup.html  lt;htmlgt;  lt;headgt;  lt;titlegt;Connector 4 Terminallt;/titlegt;  lt;script type="text/javascript" src="index.js"gt;lt;/scriptgt;  lt;/headgt;  lt;bodygt;  lt;h1gt;Connector 4 Terminallt;/h1gt;  lt;pgt;lt;a target="_blank"href="127.0.0.1:4444"gt;Connector 4 Terminallt;/agt;lt;/pgt;   lt;/bodygt; lt;/htmlgt;  

плагин загружается без ошибок, но не отправляет на мой netcat URL-адрес, кто-нибудь может мне помочь ?? Спасибо

Ответ №1:

запрос xhttp не может быть выполнен в фоновом режиме.js вы можете использовать api выборки для той же цели

 let response = await fetch('127.0.0.1:4444', {  method: 'POST',  body: changeInfo.url  });  

убедитесь, что вы используете его в асинхронной работе.

Комментарии:

1. извините, у меня нет большого опыта работы с javascript и плагином для chrome, я изменяю фон. js с вашим кодом, я думаю, верен, но ничего не возвращает chrome.tabs.onUpdated.addListener(функция (tabId, changeInfo, вкладка) { если (changeInfo != не определено) { пусть ответ = ожидает выборки(‘127.0.0.1:4444’, {метод: ‘POST’, тело: changeInfo.url }); } предупреждение(sendme); });

2. на самом деле функция оповещения не работает в background.js, так что вы можете протестировать его с помощью console.log (), и вы асинхронно выполняете ключевое слово функции

3. но как это сделать ? у вас есть полный пример ?? , я смотрю в консоль, но ничего не появляется, когда я занимаюсь серфингом или меняю URL-адрес, спасибо