Проблема CORS с QWebEngine: есть ли ограничения относительно возможных значений `Origin`? - PullRequest
1 голос
/ 07 марта 2019

Мы поддерживаем приложение, пользовательский интерфейс которого содержит QWebEngineView. Страницы, отображаемые в этом представлении, взяты из пакета локальных ресурсов, то есть URL-адресов, таких как qrc: //mypage.html.

Некоторые JS со страницы делают window.fetch(https://some.thi.ng) некоторые URL-адреса на интернет-серверах с включенным CORS в веб-просмотре.

Все работало нормально с Qt 5.9.6. Тем не менее, обновление до Qt 5.12.1 привело к ошибке CORS:

Не удалось загрузить https://some.thi.ng: 'Access-Control-Allow-Origin' заголовок имеет значение 'qrc: //', которое не равно указанному источнику. Поэтому для источника 'qrc: //' доступ запрещен.

Ну, похоже, что он жалуется qrc: // не равно qrc: //.

Используя отладчик webview chrome, мы действительно можем подтвердить, что запрос отправил заголовок Origin со значением qrc: // , и что ответ содержал заголовок Access-Control-Allow-Origin с таким же значение.

При чтении ссылки на MDN кажется, что это должно соответствовать всем критериям, и что запрос должен выполняться браузером без ошибок.

Проблема в том, что qrc:// не является действительным источником? Ошибка с обновленным хромом Qt?

...