Вы пытаетесь выполнить перекрестный запрос источника без установки заголовка источника. Если заданная конечная точка API поддерживает CORS, то когда в запросе передается заголовок Origin, он отвечает заголовком «access-control-allow-origin».
Я подтвердил, что URL-адрес instagram в вашем вопросе support CORS.
Работает следующий код, использующий API fetch.
fetch('https://www.instagram.com/nasa/?__a=1', { mode: 'cors' })
.then((resp) => resp.json())
.then((ip) => {
console.log(ip);
});
Вы должны прочитать информацию MDN CORS https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS.
Вот также исправленная версия вашего исходного кода:
const Http = new XMLHttpRequest();
const url = 'https://www.instagram.com/nasa/?__a=1';
Http.open("GET", url);
Http.setRequestHeader('Origin', 'http://local.geuis.com:2000');
Http.send();
Http.onreadystatechange = (e) => {
if (Http.readyState === XMLHttpRequest.DONE && Http.status === 200) {
console.log(Http.responseText);
}
}