Paket | flash.net |
Klasse | public final class URLRequest |
Vererbung | URLRequest Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load()
-Methoden der Loader-, URLStream- und URLLoader-Klasse und an andere Lademethoden übergeben, um URL-Downloads zu initiieren. Sie werden auch an die upload()
- und download()
-Methoden der FileReference-Klasse übergeben.
Eine SWF-Datei innerhalb der lokalen Dateisystem-Sandbox kann keine Daten aus einer Ressource in der Network-Sandbox laden bzw. keine Daten für diese Ressource bereitstellen.
Standardmäßig müssen die aufrufende SWF-Datei und die URL, die Sie laden, in der gleichen Domäne sein. Eine SWF-Datei auf www.adobe.com kann beispielsweise nur Daten aus Quellen laden, die sich ebenfalls auf www.adobe.com befinden. Um Daten aus einer anderen Domäne zu laden, legen Sie eine URL-Richtliniendatei auf dem Server ab, der die Daten hostet.
In Adobe AIR dagegen ist Inhalt in der Sicherheitssandbox der Anwendung (mit der AIR-Anwendung installierter Inhalt) nicht durch diese Sicherheitseinschränkungen beschränkt. Wenn Inhalt in Adobe AIR ausgeführt wird, können Dateien in der Sicherheitssandbox der Anwendung auf URLs zugreifen, die eines der folgenden URL-Schemata verwenden:
-
http
undhttps
-
file
-
app-storage
-
app
Inhalt, der in Adobe AIR ausgeführt wird und nicht in der Sicherheitssandbox der Anwendung ist, unterliegt den gleichen Beschränkungen wie Inhalt, der im Browser (in Flash Player) ausgeführt wird, und Ladevorgänge hängen von der Domäne des Inhalts sowie von Zugriffsrechten ab, die in URL-Richtliniendateien gewährt werden.
Hinweis: App-Transportsicherheit wurde von Apple in iOS9 eingeführt und lässt nicht sichere Verbindungen zwischen Apps und Web-Diensten zu. Aufgrund dieser Änderung werden alle Verbindungen, die mit nicht sicheren Websites über Loader bzw. URLLoader hergestellt werden, abgebrochen und funktionieren aufgrund der App-Transportsicherheit nicht. Geben Sie Ausnahmen zum Standardverhalten an, indem Sie Schlüssel zum Anwendungsdeskriptor Ihrer App hinzufügen.
Geben Sie Ausnahmen zum Standardverhalten an, indem Sie Schlüssel zum InfoAdditions-Tag des Anwendungsdeskriptors Ihrer App hinzufügen.
<iPhone> <InfoAdditions> <![CDATA[ <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>www.example.com</key> <dict> <!--Include to allow subdomains--> <key>NSIncludesSubdomains</key> <true/> <!--Include to allow HTTP requests--> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!--Include to specify minimum TLS version--> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> ]]> </InfoAdditions> </iPhone>
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
authenticate : Boolean
Gibt an, ob Authentifizierungsanforderungen für diese Anforderung verarbeitet werden sollen (true) oder nicht (false). | URLRequest | ||
cacheResponse : Boolean
Gibt an, ob erfolgreiche Antwortdaten für diese Anforderung zwischengespeichert werden sollen. | URLRequest | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
contentType : String
Der MIME-Inhaltstyp des Inhalts in der data-Eigenschaft. | URLRequest | ||
data : Object
Ein Objekt, das mit der URL-Anforderung zu übertragende Daten enthält. | URLRequest | ||
digest : String
Ein String, der die vorzeichenbehaftete Adobe-Plattformkomponente, die im Flash Player-Cache gespeichert (bzw. daraus abgerufen werden soll), eindeutig identifiziert. | URLRequest | ||
followRedirects : Boolean
Gibt an, ob Weiterleitungen verfolgt werden sollen (true) oder nicht (false). | URLRequest | ||
idleTimeout : Number
Gibt die Leerlaufzeitüberschreitung (in Sekunden) für diese Anforderung an. | URLRequest | ||
manageCookies : Boolean
Gibt an, ob der HTTP-Protokoll-Stack Cookies für diese Anforderung verwalten soll. | URLRequest | ||
method : String
Steuert die HTTP-Formularübertragungsmethode. | URLRequest | ||
requestHeaders : Array
Das Array der an die HTTP-Anforderung anzuhängenden HTTP-Anforderungsheader. | URLRequest | ||
url : String
Die anzufordernde URL. | URLRequest | ||
useCache : Boolean
Gibt an, ob der lokale Cache überprüft werden soll, bevor diese URLRequest Daten abruft. | URLRequest | ||
userAgent : String
Legt den Benutzer-Agent-String fest, der in der HTTP-Anforderung verwendet wird. | URLRequest |
Methode | Definiert von | ||
---|---|---|---|
URLRequest(url:String = null)
Erstellt ein URLRequest-Objekt. | URLRequest | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
useRedirectedURL(sourceRequest:URLRequest, wholeURL:Boolean = false, pattern:* = null, replace:String = null):void
Lässt Ersetzung einer weitergeleiteten URL aus einer Quell-URLRequest für einen Teil der URL in einer neuen URLRequest zu. | URLRequest | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
authenticate | Eigenschaft |
authenticate:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0 |
Gibt an, ob Authentifizierungsanforderungen für diese Anforderung verarbeitet werden sollen (true
) oder nicht (false
). Bei der Einstellung false
geben Authentifizierungsfehlversuche einen HTTP-Fehler zurück.
Die folgenden Authentifizierungsmethoden werden unterstützt:
- Windows – HTTP Basic/Digest, Windows Integrated Authentication (einschließlich NTLM und Kerberos), SSL Certificate Authentication.
- Mac – HTTP Basic/Digest, NTLM, SSL Certificate Authentication.
Hinweis: Die Methoden FileReference.upload()
, FileReference.download()
und HTMLLoader.load()
unterstützen die URLRequest.authenticate
-Eigenschaft nicht.
Der Standardwert ist true.
Implementierung
public function get authenticate():Boolean
public function set authenticate(value:Boolean):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
cacheResponse | Eigenschaft |
cacheResponse:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0 |
Gibt an, ob erfolgreiche Antwortdaten für diese Anforderung zwischengespeichert werden sollen. Bei der Einstellung true
verwendet die AIR-Anwendung den HTTP-Cache des Betriebssystems.
Hinweis: Die HTMLLoader.load()
-Methode unterstützt die URLRequest.cacheResponse
-Eigenschaft nicht.
Der Standardwert ist true.
Implementierung
public function get cacheResponse():Boolean
public function set cacheResponse(value:Boolean):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
contentType | Eigenschaft |
contentType:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Der MIME-Inhaltstyp des Inhalts in der data
-Eigenschaft.
Der Standardwert ist application/x-www-form-urlencoded
.
Hinweis: Die Methoden FileReference.upload()
, FileReference.download()
und HTMLLoader.load()
unterstützen die URLRequest.contentType
-Eigenschaft nicht.
Wenn eine POST-Anforderung gesendet wird, müssen die Werte der contentType
- und der data
-Eigenschaft richtig übereinstimmen. Der Wert der contentType
-Eigenschaft weist Server an, wie der Wert der data
-Eigenschaft interpretiert werden soll.
- Wenn der Wert der
data
-Eigenschaft ein URLVariables-Objekt ist, muss der Wert fürcontentType
application/x-www-form-urlencoded
sein. - Wenn der Wert der
data
-Eigenschaft ein beliebiger anderer Typ ist, sollte der Wert fürcontentType
den POST-Datentyp angeben, der gesendet wird (die binären oder String-Daten im Wert für diedata
-Eigenschaft). - Für
FileReference.upload()
wird der Content-Type der Anforderung automatisch aufmultipart/form-data
gesetzt und der Wert für diecontentType
-Eigenschaft wird ignoriert.
Wenn Sie in Flash Player 10 oder höher einen Multipart-Content-Type verwenden (z. B. „multipart/form-data“), der einen Upload enthält (gekennzeichnet durch einen „filename“-Parameter in einem „content-disposition“-Header innerhalb des POST-Body), so unterliegt die POST-Methode den Sicherheitsregeln für Uploads:
- Der POST-Vorgang muss als Reaktion auf eine durch den Benutzer initiierte Aktion, z. B. Mausklick oder Tastendruck, erfolgen.
- Ist die POST-Methode domänenübergreifend (das POST-Ziel befindet sich auf einem anderen Server als die SWF-Datei, die die POST-Anforderung sendet), so muss der Zielserver eine URL-Richtliniendatei bereitstellen, die den domänenübergreifenden Zugriff erlaubt.
Für alle mehrteiligen Content-Typen muss ebenfalls die Syntax nach Standard RFC2046 gültig sein. Scheint die Syntax ungültig zu sein, so unterliegt die POST-Methode den Sicherheitsregeln für Uploads.
Implementierung
public function get contentType():String
public function set contentType(value:String):void
Verwandte API-Elemente
data | Eigenschaft |
data:Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ein Objekt, das mit der URL-Anforderung zu übertragende Daten enthält.
Diese Eigenschaft wird zusammen mit der method
-Eigenschaft verwendet. Wenn der Wert für method
GET
ist, wird der Wert für data
an den Wert für URLRequest.url
über eine HTTP-Abfragestringsyntax angehängt. Wenn der method
-Wert POST
(oder ein beliebiger anderer Wert als GET
ist), wird der Wert für data
im Rumpf der HTTP-Anforderung übertragen.
Die API für „URLRequest“ unterstützt binäre POST
-Daten sowie URL-kodierte Variablen und Strings. Das Datenobjekt kann ein ByteArray-, URLVariables- oder String-Objekt sein.
Die Verwendung der Daten hängt vom Objekttyp ab:
- Wenn es sich um ein ByteArray-Objekt handelt, werden die Binärdaten des Objekts als
POST
-Daten verwendet. Der Objekttyp „ByteArray“ wird fürGET
-Daten nicht unterstützt. Dasselbe gilt fürFileReference.upload()
undFileReference.download()
. - Wenn es sich um ein URLVariables-Objekt handelt und die Methode
POST
verwendet wird, werden die Variablen im Format x-www-form-urlencoded kodiert, und der Ergebnisstring wird alsPOST
-Daten verwendet. Eine Ausnahme bildet hier der Aufruf vonFileReference.upload()
, bei dem die Variablen als separate Felder in einemmultipart/form-data
-Post gesendet werden. - Wenn es sich um ein URLVariables-Objekt handelt und die Methode
GET
verwendet wird, definiert das URLVariables-Objekt die Variablen, die mit dem URLRequest-Objekt gesendet werden. - Andernfalls wird das Objekt in einen String konvertiert, der als
POST
- oderGET
-Daten verwendet wird.
Die Daten werden erst gesendet, wenn eine Methode (z. B. navigateToURL()
oder FileReference.upload()
) das URLRequest-Objekt verwendet.
Hinweis: Der Wert für contentType
muss dem Datentyp in der data
-Eigenschaft entsprechen. Siehe Hinweis in der Beschreibung der contentType
-Eigenschaft.
Implementierung
public function get data():Object
public function set data(value:Object):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
Wichtige Beispielauszüge:
- Die Konstruktorfunktion erstellt eine URLRequest-Instanz mit dem Namen
request
, wobei die URL der Remote-Anwendung als Parameter verwendet wird. - Ein URLVariables-Objekt wird erstellt, und zwei seiner Eigenschaften werden Werte zugewiesen.
- Das URLVariables-Objekt wird der Eigenschaft
data
des URLRequest-Objekts zugewiesen. - Das Beispiel ruft
navigateToURL
auf, wodurch ein neues Browserfenster mit der URL der Remote-Anwendung geöffnet wird.
Hinweis: Zur Ausführung des Beispiels muss die URL der Remote-Anwendung durch eine gültige URL ersetzt werden. Darüber hinaus benötigen Sie Servercode, um die von Flash Player im URLVariables-Objekt erfassten Informationen auszuführen.
package { import flash.display.Sprite; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.net.URLVariables; public class URLVariablesExample extends Sprite { public function URLVariablesExample() { var url:String = "http://www.[yourDomain].com/application.jsp"; var request:URLRequest = new URLRequest(url); var variables:URLVariables = new URLVariables(); variables.exampleSessionId = new Date().getTime(); variables.exampleUserLabel = "guest"; request.data = variables; navigateToURL(request); } } }
digest | Eigenschaft |
digest:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
Ein String, der die vorzeichenbehaftete Adobe-Plattformkomponente, die im Flash Player-Cache gespeichert (bzw. daraus abgerufen werden soll), eindeutig identifiziert. Eine Adobe-Plattformkomponente ist eine signierte Datei (eine SWZ-Datei), die SWF-Inhalt enthält, der permanent auf dem Computer eines Benutzers zwischengespeichert wird. Alle SWZ-Dateien sind von Adobe signiert. Ein Digest entspricht einer einzelnen zwischengespeicherten Datei; wenn Sie die Datei ändern, ändert sich der Digest in unvorhergesehener Weise. Mithilfe eines Digests können Sie die zwischengespeicherte Datei auf mehreren Domänen verifizieren. Zwei Dateien mit demselben Digest sind dieselbe Datei, und zwei Dateien mit zwei Digests sind nicht dieselbe Datei. Es kann keine Datei erstellt werden, um einen Digest „nachzuahmen“ und einen anderen Digest vorzutäuschen.
Der Digest basiert auf einem SHA-256-Meldungs-Digest-Algorithmus (64 Zeichen lang, hexadezimales Format).
Das Flex SDK enthält z. B. eine SWZ-Datei für das Flex-Framework (und stellt den Digest-String für diese SWZ-Datei bereit). Sie können diese SWZ-Datei auf Ihrem Webserver ablegen und in Ihre SWF-Datei laden (über die load()
-Methode eines URLLoader-Objekts). Wenn auf dem Computer des Endbenutzers bereits die passende SWZ-Datei zwischengespeichert ist, verwendet die Anwendung die zwischengespeicherte SWZ-Datei. (Eine SWZ-Datei „passt“, wenn ihr Digest
dem Digest entspricht, den Sie bereitstellen.) Andernfalls lädt die Anwendung die SWZ-Datei von der von Ihnen angegebenen URL herunter.
Legen Sie den digest
-Parameter nur in einem URLRequest-Objekt fest, das bei einem Aufruf der URLLoader.load()
-Methode zum Laden einer SWZ-Datei verwendet wird. Wenn die digest
-Eigenschaft eines URLRequest-Objekts festgelegt wird, das in anderen Methoden verwendet wird, gibt die Anwendung einen IOError-Ausnahmefehler zurück.
Implementierung
public function get digest():String
public function set digest(value:String):void
Auslöser
ArgumentError — Der bereitgestellte Digest stimmt nicht mit dem Digest der Datei, die aus der heruntergeladenen signierten Datei extrahiert wurde, oder mit der signierten Datei, die aus dem Cache geladen wurde, überein. Die Anwendung gibt diesen Fehler auch zurück, wenn der bereitgestellte Digest die falsche Länge hat oder ungültige (nicht hexadezimale) Zeichen enthält.
|
Beispiel ( Verwendung dieses Beispiels )
loadBytes()
abgeschlossen:
var myURLReq:URLRequest = new URLRequest(); myURLReq.url = "http://yourdomain/users/jdoe/test01/_rsc/Automated/AssetCaching_rsc/test01/rsl.swz"; myURLReq.digest = "3B0AA28C7A990385E044D80F5637FB036317BB41E044D80F5637FB036317BB41"; var myURLLoader:URLLoader = new URLLoader(); myURLLoader.dataFormat = URLLoaderDataFormat.BINARY; myURLLoader.addEventListener("complete", onC); myURLLoad.load(myURLReq); function onC(e) { var someLoader:Loader = new Loader(); addChild(someLoader); someLoader.loadBytes((ByteArray)(myURLLoad.data)); }
followRedirects | Eigenschaft |
followRedirects:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Lite 4 |
Gibt an, ob Weiterleitungen verfolgt werden sollen (true
) oder nicht (false
).
Hinweis: Die Methoden FileReference.upload()
, FileReference.download()
und HTMLLoader.load()
unterstützen die URLRequest.followRedirects
-Eigenschaft nicht.
Der Standardwert ist true.
Implementierung
public function get followRedirects():Boolean
public function set followRedirects(value:Boolean):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
idleTimeout | Eigenschaft |
idleTimeout:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2 |
Gibt die Leerlaufzeitüberschreitung (in Sekunden) für diese Anforderung an.
Die Leerlaufzeitsperre ist die Zeitspanne, die der Client nach dem Herstellen der Verbindung auf eine Antwort vom Server wartet, bevor die Anforderung abgebrochen wird.
Hinweis: Die HTMLLoader.load()
-Methode unterstützt die URLRequest.idleTimeout
-Eigenschaft nicht. Die HTMLLoader-Klasse definiert ihre eigene idleTimeout
-Eigenschaft.
Der Standardwert ist initialized from the URLRequestDefaults.idleTimeout property.
Implementierung
public function get idleTimeout():Number
public function set idleTimeout(value:Number):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
manageCookies | Eigenschaft |
manageCookies:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0 |
Gibt an, ob der HTTP-Protokoll-Stack Cookies für diese Anforderung verwalten soll. Bei der Einstellung true
werden der Anforderung Cookies hinzugefügt und Antwortcookies werden gespeichert. Bei der Einstellung false
werden Cookies nicht zu der Anforderung hinzugefügt und Anforderungscookies werden nicht gespeichert, aber Benutzer können Cookies durch direkte Header-Änderungen verwalten. Hinweis: Unter Windows können Sie Cookies nicht manuell zu einer URL-Anforderung hinzufügen, wenn manageCookies
den Wert true
aufweist. Unter anderen Betriebssystemen ist das Hinzufügen von Cookies zu einer Anforderung zulässig, unabhängig davon, ob manageCookies
den Wert true
oder false
hat. Wenn dies zulässig ist, können Sie einer Anforderung manuell Cookies hinzufügen, indem Sie ein URLRequestHeader
-Objekt mit den Cookiedaten zum requestHeaders
-Array hinzufügen.
Unter Mac OS werden Cookies mit Safari gemeinsam genutzt. Löschen von Cookies unter Mac OS:
- Öffnen Sie Safari.
- Wählen Sie „Safari“ > „Einstellungen“ und klicken Sie auf das Bedienfeld „Sicherheit“.
- Klicken Sie auf „Cookies anzeigen“.
- Klicken Sie auf „Alle entfernen“.
Löschen von Cookies unter Windows:
- Öffnen Sie das Dialogfeld „Eigenschaften von Internet“ und klicken Sie auf die Registerkarte „Allgemein“.
- Klicken Sie auf „Cookies löschen“.
Der Standardwert ist true.
Implementierung
public function get manageCookies():Boolean
public function set manageCookies(value:Boolean):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
method | Eigenschaft |
method:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Steuert die HTTP-Formularübertragungsmethode.
Für SWF-Inhalt, der in Flash Player (im Browser) ausgeführt wird, ist diese Eigenschaft auf GET- bzw. POST-Methoden beschränkt und gültige Werte sind URLRequestMethod.GET
bzw. URLRequestMethod.POST
.
Für Inhalt, der in Adobe AIR ausgeführt wird, können Sie jeden String-Wert verwenden, wenn sich der Inhalt in der Sicherheitssandbox der Anwendung befindet. Andernfalls, bei Inhalt, der in Flash Player ausgeführt wird, sind Sie auf die Verwendung von GET- oder POST-Operationen beschränkt.
Für Inhalt, der in Adobe AIR ausgeführt wird, gilt: Wenn die navigateToURL()
-Funktion verwendet wird, behandelt die Laufzeit ein URLRequest-Objekt, das die POST-Methode verwendet (ein Objekt, dessen method
-Eigenschaft auf URLRequestMethod.POST
eingestellt ist), so, als ob die GET-Methode verwendet wird.
Hinweis: Wenn Inhalt in Flash Player ausgeführt wird und die referenzierte Form keinen Rumpf hat, verwendet Flash Player automatisch eine GET-Methode, selbst wenn die Methode auf URLRequestMethod.POST
gesetzt ist. Aus diesem Grund wird empfohlen, immer einen „Dummy“-Rumpf einzufügen, um zu gewährleisten, dass die richtige Methode verwendet wird.
Der Standardwert ist URLRequestMethod.GET.
Implementierung
public function get method():String
public function set method(value:String):void
Auslöser
ArgumentError — Der Parameter value ist nicht URLRequestMethod.GET oder URLRequestMethod.POST .
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
URLRequest.method
wird explizit auf URLRequestMethod.POST
gesetzt.
Wichtige Beispielauszüge:
- Die Konstruktorfunktion erstellt eine URLRequest-Instanz mit dem Namen
request
, wobei die URL der Remote-Anwendung als Parameter verwendet wird. - Ein URLVariables-Objekt wird erstellt, und zwei seiner Eigenschaften werden Werte zugewiesen.
- Das URLVariables-Objekt wird der Eigenschaft
data
des URLRequest-Objekts zugewiesen. - Der Wert der Eigenschaft
URLRequest.method
wird aufURLRequestMethod.POST
gesetzt. - Das Beispiel ruft
navigateToURL
auf, wodurch ein neues Browserfenster mit der URL der Remote-Anwendung geöffnet wird.
Hinweis: Zur Ausführung des Beispiels muss die URL der Remote-Anwendung durch eine gültige URL ersetzt werden. Darüber hinaus benötigen Sie Servercode, um die von Flash Player im URLVariables-Objekt erfassten Informationen auszuführen.
package { import flash.display.Sprite; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; public class URLRequest_method extends Sprite { public function URLRequest_method() { var url:String = "http://www.[yourDomain].com/application.jsp"; var request:URLRequest = new URLRequest(url); var variables:URLVariables = new URLVariables(); variables.exampleSessionId = new Date().getTime(); variables.exampleUserLabel = "guest"; request.data = variables; request.method = URLRequestMethod.POST; navigateToURL(request); } } }
requestHeaders | Eigenschaft |
requestHeaders:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Das Array der an die HTTP-Anforderung anzuhängenden HTTP-Anforderungsheader. Das Array besteht aus URLRequestHeader-Objekten. Jedes Objekt im Array muss ein URLRequestHeader-Objekt sein und einen Namens- und einen Wert-String enthalten:
var rhArray:Array = new Array(new URLRequestHeader("Content-Type", "text/html"));
Flash Player und die AIR-Laufzeitumgebung geben bestimmte Einschränkungen für Anforderungsheader vor. Weitere Informationen finden Sie in der Beschreibung der URLRequestHeader-Klasse.
Nicht alle Methoden, die URLRequest-Parameter akzeptieren, unterstützen die requestHeaders
-Eigenschaft. Informationen zu der von Ihnen aufgerufenen Methode finden Sie in der entsprechenden Dokumentation. Beispiel: Die FileReference.upload()
- und die FileReference.download()
-Methode unterstützen die URLRequest.requestHeaders
-Eigenschaft nicht.
Aufgrund von Browsereinschränkungen werden benutzerdefinierte HTTP-Anforderungs-Header für POST
-Anforderungen, aber nicht für GET
-Anforderungen unterstützt.
Implementierung
public function get requestHeaders():Array
public function set requestHeaders(value:Array):void
Verwandte API-Elemente
url | Eigenschaft |
url:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Die anzufordernde URL.
Achten Sie darauf, alle Zeichen zu kodieren, die in der Uniform Resource Locator-Spezifikation (siehe http://www.faqs.org/rfcs/rfc1738.html) als unsicher beschrieben werden oder die im URL-Schema des URLRequest-Objekts reserviert sind (wenn sie nicht für den reservierten Zweck verwendet werden). Verwenden Sie zum Beispiel "%25"
für das Prozentzeichen (%) und "%23"
für das Rautenzeichen (#), wie in "http://www.example.com/orderForm.cfm?item=%23B-3&discount=50%25"
.
Standardmäßig muss die URL in der gleichen Domäne wie die aufrufende Datei sein, es sei denn, der Inhalt wird in der Sicherheitssandbox der Adobe AIR-Anwendung ausgeführt. Wenn Sie Daten aus einer anderen Domäne laden müssen, legen Sie eine URL-Richtliniendatei auf dem Server ab, der die Daten hostet. Weitere Informationen finden Sie in der Beschreibung der URLRequest-Klasse.
Wenn Inhalt in Adobe AIR ausgeführt wird, können Dateien in der Sicherheitssandbox der Anwendung (Dateien, die mit der AIR-Anwendung installiert wurden) auf URLs zugreifen, die eines der folgenden URL-Schemata verwenden:
http
undhttps
file
app-storage
app
Hinweis: IPv6 (Internet Protocol Version 6) wird in AIR und in Flash Player 9.0.115.0 und höher unterstützt. IPv6 ist eine Internet Protocol-Version, die 128-Bit-Adressen unterstützt (eine Verbesserung gegenüber der älteren Version IPv4, die 32-Bit-Adressen unterstützt). Möglicherweise müssen Sie IPv6 für Ihre Netzwerkschnittstellen aktivieren. Weitere Informationen finden Sie in der Hilfe des Betriebssystems, unter dem die Daten gehostet werden. Wenn IPv6 auf dem Hostsystem unterstützt wird, können Sie numerische literale IPv6-Adressen in URLs in eckigen Klammern ([])angeben, wie im folgenden Beispiel zu sehen.
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
Implementierung
public function get url():String
public function set url(value:String):void
Beispiel ( Verwendung dieses Beispiels )
var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; var urlRequest:URLRequest = new URLRequest(url); var loader:Loader = new Loader(); loader.load(urlRequest); addChild(loader);
useCache | Eigenschaft |
useCache:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0 |
Gibt an, ob der lokale Cache überprüft werden soll, bevor diese URLRequest Daten abruft.
Hinweis: Die HTMLLoader.load()
-Methode unterstützt die URLRequest.useCache
-Eigenschaft nicht.
Der Standardwert ist true.
Implementierung
public function get useCache():Boolean
public function set useCache(value:Boolean):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
userAgent | Eigenschaft |
userAgent:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Lite 4 |
Legt den Benutzer-Agent-String fest, der in der HTTP-Anforderung verwendet wird.
Der Standardwert ist der gleiche Benutzer-Agent-String, der von Flash Player verwendet wird und unter Mac, Linux und Windows unterschiedlich ist.
Hinweis: Diese Eigenschaft hat keinen Einfluss auf den Benutzer-Agent-String, wenn das URLRequest-Objekt mit der load()
-Methode eines HTMLLoader-Objekts verwendet wird. Um den Benutzer-Agent-String für ein HTMLLoader-Objekt festzulegen, stellen Sie die userAgent
-Eigenschaft des HTMLLoader-Objekts ein oder legen Sie die statische URLRequestDefaults.userAgent
-Eigenschaft fest.
Implementierung
public function get userAgent():String
public function set userAgent(value:String):void
Auslöser
SecurityError — Der Aufrufer befindet sich nicht in der Sicherheitssandbox der AIR-Anwendung.
|
Verwandte API-Elemente
URLRequest | () | Konstruktor |
public function URLRequest(url:String = null)
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Erstellt ein URLRequest-Objekt. Wenn System.useCodePage
auf true
gesetzt ist, wird die Anforderung mit der Codepage des Systems kodiert. Wenn System.useCodePage
auf false
gesetzt ist, wird die Anforderung mit Unicode kodiert.
url:String (default = null ) — Die anzufordernde URL. Sie können die URL zu einem späteren Zeitpunkt mithilfe der Eigenschaft url festlegen.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
// Requires // - Button symbol on Stage (or a display object, such as a MovieClip) with instance name "buttonSymbol" // buttonSymbol.addEventListener(MouseEvent.CLICK, buttonSymbol_click); function buttonSymbol_click(evt:MouseEvent):void { var req:URLRequest = new URLRequest("http://www.adobe.com/"); navigateToURL(req, "_blank"); }
useRedirectedURL | () | Methode |
public function useRedirectedURL(sourceRequest:URLRequest, wholeURL:Boolean = false, pattern:* = null, replace:String = null):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11.8, AIR 3.8 |
Lässt Ersetzung einer weitergeleiteten URL aus einer Quell-URLRequest für einen Teil der URL in einer neuen URLRequest zu. Nachdem eine Erstanforderung weitergeleitet wurde, können weitere Anforderungen direkt an den weitergeleiteten Serverort gesendet werden.
Sobald die erste URLRequest abgeschlossen ist, wenn HTTPStatusEvent.redirected
„true“ ist, kann diese Methode mithilfe der Erstanforderung als sourceRequest
aufgerufen werden. Standardmäßig wird die Domäne von der weitergeleiteten URL verwendet, anstatt die Domäne in dieser URLRequest der URL. URLRequest.url
muss festgelegt werden, bevor diese Methode aufgerufen wird. Die Methode muss aufgerufen werden, bevor diese URLRequest geladen wird. (Optional) Wenn der wholeURL
-Parameter „true“ ist, wird die gesamte URL (außer Dateiname) von der Quell-URL-Request durch die gesamte URL (außer endgültiger Dateiname) in dieser URLRequest ersetzt. Der Aufrufer kann einen String oder einen regulären Ausdruck im pattern
-Parameter bereitstellen (optional). Es wird nach dem Muster gesucht und mt dem String aus dem replace
-Parameter ersetzt. Dieses Suchen und Ersetzen wird nach der URL-Ersetzung vorgenommen.
Parameter
sourceRequest:URLRequest — Ein URLRequest-Objekt, das bereits angefordert und weitergeleitet wurde. Die weitergeleitete URL wird verwendet, um einen Teil der URL dieses URLRequest-Objekts zu ersetzen.
| |
wholeURL:Boolean (default = false ) — Ob nur die Domäne der sourceRequest der endgültigen URL verwendet werden soll, um die Domäne dieser URL-Anforderung zu ersetzen oder ob die gesamte URL minus des Dateinamens verwendet werden soll. Der Standardwert ist false .
| |
pattern:* (default = null ) — Ein Muster für die Suche in der URL. Kann entweder ein String oder ein RegExp-Objekt sein. Der Standardwert ist null.
| |
replace:String (default = null ) — Ein String für die Ersetzung für Muster, wenn diese in der URL gefunden werden. Der Standardwert ist null.
|
Verwandte API-Elemente
complete
-Ereignis ausgelöst, und die Daten in der XML-Datei werden in die Ausgabe geschrieben. Andere Ereignisse einschließlich Fehlerereignisse werden von zusätzlichen Ereignisprozeduren erfasst.
Legen Sie zur Ausführung dieses Beispiels eine Datei mit dem Namen „XMLFile.xml“ in dem Verzeichnis ab, in dem sich die SWF-Datei befindet.
package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLRequestExample extends Sprite { private var loader:URLLoader; public function URLRequestExample() { loader = new URLLoader(); configureListeners(loader); var request:URLRequest = new URLRequest("XMLFile.xml"); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); trace("completeHandler: " + loader.data); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } } }
Tue Jun 12 2018, 10:04 AM Z