Мой вариант использования: я пытаюсь сделать простой запрос GET на https://www.google.com, чтобы проверить подключение к Интернету. Мне нужно проверить код ответа и, в зависимости от этого, решить, есть ли у пользователя подключение к Интернету. Теперь, хотя я вижу код 200 (без заголовков ответа или ответа) в инструментах разработчика, при извлечении всегда происходит сбой посадки в обработчик ошибок для вызова извлечения, и консоль отмечает ошибку CORS.
Я делаюпонимаю, так как я делаю запрос кросс-источника, так что это должно привести к ошибке CORS.
Я хочу знать, что я могу сделать, чтобы мой код подключения работал. Я не могу изменить заголовки ответа google.com. Причиной использования google.com является его надежность, точно так же, как мы нажимаем на google.com в браузере, чтобы проверить, работает ли интернет: D
Мой код:
networkMonitor: () => {
const headers = new Headers();
headers.append('Cache-Control', 'no-cache');
const timerId = setInterval(() => {
fetch('https://www.google.com')
.then((response) => {
if (response.status != 200) {
// Yay ! connected
}
}, (err) => {
console.log("error: " + err); // (currently fetch failed)
})
}, 5000);
}
PS: я знаю, что нет способа отключить ту же политику происхождения или заставить другой сайт отправлять разрешение всем заголовкам происхождения. Однако это можно обойти, используя Cors Proxy. Я хочу знать, можно ли использовать google.com или аналогичные легкодоступные сайты для проверки моего соединения, или нет, а если нет, то есть ли другой способ справиться с ними с точки зрения простого получения информации о соединении.