У меня есть MCU с небольшим сайтом. Теперь я хочу использовать FETCH для получения из него живых данных. Он работает нормально, но на одном компьютере (с разными браузерами) значения не отображаются. В Wireshark я вижу правильное сообщение, но браузер не получает полученные данные.
вот мой код:
function getInfo (){
fetch('/info', {
Method: 'GET',
})
.then((response) => response.text())
.then((text) => {
//handle data
console.info(text);
SetInfoValues(text);
})
.catch(error => {
console.info('ERROR : ' + error);
//handle error
});
}
Wireshark показывает мне, что мое устройство дает правильный ответ
0000 a4 bb 6d 45 36 07 9c 43 1e 7f ff ff 08 00 45 00 ..mE6..C......E.
0010 00 93 00 52 00 00 ff 06 d6 f9 c0 a8 31 6d c0 a8 ...R........1m..
0020 31 5b 00 50 fa 96 00 00 19 75 9e 59 77 26 50 19 1[.P.....u.Yw&P.
0030 0e 8d 3f 37 00 00 66 49 50 3d 31 39 32 2e 31 36 ..?7..fIP=192.16
0040 38 2e 34 39 2e 31 30 39 20 26 66 4d 41 43 3d 39 8.49.109 &fMAC=9
0050 43 3a 34 33 3a 31 45 3a 37 46 3a 46 46 3a 46 46 C:43:1E:7F:FF:FF
0060 20 26 66 53 45 52 49 41 4c 3d 32 33 31 30 39 39 &fSERIAL=231099
0070 39 38 20 26 66 46 57 52 45 56 3d 31 30 30 34 20 98 &fFWREV=1004
0080 26 66 43 54 53 45 52 49 41 4c 3d 35 30 35 37 31 &fCTSERIAL=50571
0090 35 35 20 26 66 43 54 46 57 52 45 56 3d 32 34 34 55 &fCTFWREV=244
00a0 35 5
а в браузере я получаю 0 байт за 5мс!? (таймаут 200мс) На всех остальных ПК полученные данные получаю в браузере. Отладка на рабочем ПКОтладка на неисправном компьютере
На неисправном компьютере появляется ошибка «net::ERR_EMPTY:RESPONSE»!?
Я думаю, что это своего рода брандмауэр или что-то в этом роде, но я не знаю, как найти приложение, которое блокирует файлы . Брандмауэр Windows уже отключен.
Спасибо за вашу помощь !
отключи брандмауэр, пользуйся другими браузерами
кстати, { Method: 'GET', } ничего не делает, поскольку fetch ожидает method - но это не имеет значения (к счастью для вас, GET является method по умолчанию для fetch)
Вайршарк? Немного перебор. Я бы сначала попробовал завиток. Кроме того, ваш дамп выглядит как двоичные данные, почему вы пытаетесь принять его как текст?
мысль... используйте Firefox, я нашел его инструменты разработчика более информативными, чем браузеры на базе Chrum
@user3840170 user3840170 - посмотрите на правую сторону... там много текста :p
Что вы увидите, если проверите ответ на вкладке «Сеть» в DevTools?
@JaromandaX Они сказали, что пробовали несколько браузеров.
@Бармар - да, сделали
@Barmar, пожалуйста, просмотри обе ссылки в моем тексте. («Отладка на рабочем компьютере» и «Отладка на неисправном компьютере»)
Теперь я использую 192.168.49.109/info и получаю на своем компьютере правильный ответ (fIP=192...), но на плохом компьютере я получаю ошибку «Соединение прервано». И с «Curl 192.168.49.109/info --http0.9» я также получаю правильный ответ, но плохой компьютер говорит «Curls: (52) Пустой ответ от сервера» :-(



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В моем случае это была антишпионская программа Ad-Aware-Web-Companion. Она была установлена случайно. После удаления все работает нормально. Спасибо за вашу помощь
Ваш ответ можно улучшить, добавив дополнительную вспомогательную информацию. Пожалуйста, отредактируйте , добавив дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить правильность вашего ответа. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.
Моим первым предположением было бы расширение для браузера. Но то, что это происходит с разными браузерами в одной системе, странно. Что произойдет, если вы откроете полученный URL-адрес прямо в браузере?