Я пытаюсь выполнить запрос GET (или POST) к серверу localhost из окна консоли инструментов разработчика chrome, запущенного на веб-сайте с https (в данном случае outlook.com, но то же самое для любого https). Если я запускаю тот же код с веб-сайта, который работает на http, он работает нормально.
Ошибка, которую я получаю:
Не удалось загрузить http://127.0.0.1:5000/: Перенаправление с 'http://127.0.0.1:5000/' на' https://127.0.0.1:5000/' заблокировано политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует запрашиваемый ресурс. Источник 'https://outlook.live.com' поэтому не имеет доступа.
Я обнаружил, что обмен https с http невозможен, но запуск сервера флеш-памяти по https также не помогает, в этом случае Flask даже не распознает входящий запрос.
У меня запущено приложение Flask, код:
from flask import Flask
from flask import request
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route("/", methods=['GET', 'POST'])
def foo():
return "bar"
if __name__ == "__main__":
app.run()
JavaScript, который я использую для запроса:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(xhttp.responseText);
}
};
xhttp.open("GET", "http://127.0.0.1:5000/", true);
xhttp.send();
Я знаю, что есть много похожих вопросов, но ни одно из опубликованных решений для меня не сработало, как мне создать успешный запрос GET или POST из инструментов разработчика chrome, запущенных на веб-сайте https, на сервер localhost (предпочтительно Flask)