Frage

Ich habe ein FLA (mit ActionScript 3.0), das ich in Blitz zusammenstelle. Ich verwende UrlRequest und Urlloader, um auf einen HTTP -Webservice zuzugreifen.

var loader:URLLoader = new URLLoader();     
var request:URLRequest = new URLRequest("http:test.webservice.com");    
try {
   loader.load(request);
} catch (error:Error) {
   trace("Unable to load requested document.");
}

Dies funktioniert gut. Wenn ich jedoch versuche, auf eine HTTPS -Adresse zuzugreifen, bekomme ich ich

httpStatusHandler: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=0]
ioErrorHandler: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: https://test.webservice.com"]

Wie kann ich Daten von einem HTTPS -Webdienst abrufen? Muss die SWF auf einer SSL -gesicherten Seite gehostet werden?

War es hilfreich?

Lösung

Wenn Sie den Flash -Debug -Player installieren, werden Sie wahrscheinlich Folgendes im Protokoll sehen:

** Security Sandbox Violation ***
Connection to https://www.example.com/service/ halted - not permitted from http://www.example.com/your.swf

Error: Request for resource at https://www.example.com/service/ by requestor from http://www.example.com/your.swf is denied due to lack of policy file permissions.

Standardmäßig kann ein SWF, das in einem HTTP gehostet wird, auf HTTPS nicht zugreifen -es wird als andere Domain angesehen.

Sie müssen die entsprechende Crossdomain.xml-Richtliniendatei einrichten, um zu überprüfen, ob der Inhaltstyp Text/* oder einen anderen weiße Wert ist. Darüber hinaus benötigen Sie eine Meta-Policy-Datei mit "Secure = false", mit der HTTPS von HTTP zugegriffen werden kann.

  <allow-access-from domain="www.example.com" secure="false" />

Weitere Lesung:

Änderungen der Richtliniendatei in Flash Player 9 und Flash Player 10

Andere Tipps

Überprüfen Sie die Crossdomain -Richtlinie in der Aktionsdokumentation.
http://kb2.adobe.com/cps/142/tn_14213.html

Ein sicherer Server, der den Zugriff auf Filme ermöglicht, die über ein nicht sicheres Protokoll gehostet werden

Es ist nicht ratsam, HTTP -Inhalte zu ermöglichen, um auf HTTPS -Inhalte zuzugreifen. Diese Praxis kann die von HTTPS angebotene Sicherheit beeinträchtigen.

Es kann jedoch Fälle geben, in denen Legacy -Flash -Inhalte Zugriff auf Daten einer HTTPS -Site ermöglichen. Mit Flash Player 7 ist dies standardmäßig nicht mehr zulässig. Verwenden Sie das sichere Attribut in einem "Zulassen-Access-from" -Tag und setzen Sie es auf false.

 <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">


        <cross-domain-policy>


        <allow-access-from domain="www.company.com" secure="false" />


        </cross-domain-policy> 

Es wird als Crossdomain.xml gespeichert und auf der Site -Root des HTTPS -Servers platziert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top