Я использовал Flex-компонент HTML в моем проекте AIR 2.7.Это оболочка для класса HtmlLoader.
Проблема заключается в том, что пустые ссылки в заголовках HTML автоматически устанавливаются в "app: // [appname] .swf".Это не является стандартным, так как поведение реферера по умолчанию должно вообще не устанавливать реферера.В результате я получаю отказ в доступе к определенным веб-сайтам, использующим iframes (поскольку местоположение изменяется из-за iframe, устанавливающего пустой реферер).
У меня нет контроля над этими запросами, при изменении источника не происходит никакого события.iframe.
Я думал о возможности перехвата всех сетевых вызовов и установки реферера на пустое значение, когда это необходимо, перед отправкой сообщения.Мое приложение - это всего лишь контейнер, в котором модуль загружается для более простых обновлений, поэтому, возможно, я мог бы установить прокси сверху или что-то в этом роде.
Есть ли способ перехватить сетевые сообщения во Flex ??
РЕДАКТИРОВАТЬ:
После некоторого чата с сотрудниками Adobe я открыл ошибку в базе ошибок Adobe по этому поводу: https://bugbase.adobe.com/index.cfm?event=bug&id=2945647
Из моих комментариев извлечено больше информации:
Я пытался (с прокси Чарльз) эмулировать некоторые случаи для конкретного сайта.Когда отправляется пустой или действительный реферер для загрузки какого-либо файла SWF, он проходит.Тем не менее, он запрещает доступ по недействительным (например, app: //).Это подтверждает проблему с реферером.
нет формальной спецификации относительно того, что является действительным или недействительным.Я имею в виду, на каких сайтах я тестирую.Например, cdn.nitrome.com/games/rubbletroubletokyo/rubbletroubletokyo.swf имеет такую проверку реферера и возвращает «Отказано в доступе».страницу, если запрос был отправлен с реферером, который он считает недействительным, например, app: //foo.swf или даже http://www.google.com. Он отправляет правильный файл, если реферер не отправляется ИЛИ со страницей, которая должна вызыватьSWF-файл (в данном случае http://www.nitrome.com/games/rubbletroubletokyo).
Приложение для детей и содержит веб-браузер.Разрешены только авторизованные сайты (либо родителями, либо издателями), и www.nitrome.com будет одним из них при запуске.Конечно, я должен убедиться, что все запланированное на старте будет работать!Мне удалось создать хак для nitrome.com, но он ДЕЙСТВИТЕЛЬНО конкретен.Нам придется создавать хаки для каждого веб-сайта, с которым мы сталкиваемся с проблемами, и это ... ну, это отнимает много времени и трудно поддерживать