Нарушение безопасности изолированной программной среды на запросе Haxe http

Я делаю игру с использованием библиотеки Haxe и Flambe, чтобы настроить flash&html5. Мне нужно получить доступ к REST-API с помощью http-запросов. Для этого я использую Http-класс Haxe. Вот мой тестовый код на данный момент:

public function getRocketStatus():Void
{
    var urlLoader:Http = new Http("https://seginus-scores.herokuapp.com/api/MailboxMayhem/Highscores/");//"localhost:8000/api/rocket");

    // add parameters
    //urlLoader.addParameter("myVar", "myValue");
    //urlLoader.addParameter("userName", "Mark");

    // callbacks
    urlLoader.onError = function (msg) {requestCompleteSignal.emit(msg);};
    //urlLoader.onStatus = function(status) {requestCompleteSignal.emit(Std.string(status));};
    urlLoader.onData = function(data)
    {
       trace('Sending data completed! data=$data');
       requestCompleteSignal.emit(data);

    }

    // sends to data using GET
    urlLoader.request();

    // sends to data using POST
    urlLoader.request(true);
}

Каждый раз, когда я пытаюсь использовать это, я получаю ошибку:

*** Security Sandbox Violation *** Connection to https://seginus-scores.herokuapp.com/api/MailboxMayhem/Highscores/ halted - not permitted from http://localhost:7000/targets/main-flash.swf

Он не работает, если я использую его с тест-сервера Flambe, моего локального сервера Apache и т. Д. Кажется, нет никакой разницы между целями Flash или html5. Я также знаю, что междоменная политика должна быть правильной в моем API, так как я могу связать ее с Unity, обычными Flash и Java-играми, которые я сделал ранее. Я получаю следующую ошибку в мою js-консоль из html5-target:

 No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я уже проверил эту страницу Haxe, которая немного двусмысленна относительно предмета: http://old.haxe.org/doc/flash/security

Я сделал url-запросы в AS3 в тот же день, и мне пришлось иметь дело с проблемами изолированной программной среды безопасности. Однако в этих случаях добавление междомена на другой конец, казалось, решало проблему всегда, в отличие от этого.

1 ответ

Решение

Хорошо, я нашел проблему. Я чувствую себя глупо сейчас. Я забыл добавить "http://" в URL, когда я использовал localhost (например, http://localhost:8000/api) И забыл убрать https из звонка выше, пока у меня был только http доступен.

Другие вопросы по тегам