Pakiet | flash.net |
Klasa | public final class URLRequest |
Dziedziczenie | URLRequest Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load()
klas Loader, URLStream i URLLoader oraz pozostałych operacji ładowania w celu zainicjowania pobierania URL. Są przekazywane również do metod upload()
i download()
klasy FileReference.
Plik SWF w lokalnym obszarze izolowanym z dostępem do systemu plików nie może ładować danych z, i dostarczać danych do, zasobu znajdującego się w obszarze izolowanym sieci.
Domyślnie wywołujący plik SWF oraz ładowany URL muszą być w tej samej domenie. Na przykład plik SWF na stronie www.adobe.com może ładować dane jedynie ze źródeł, które również znajdują się na stronie www.adobe.com. Aby ładować dane z różnych domen, należy umieścić plik reguł URL na serwerze przechowującym dane.
Jednak w aplikacji Adobe AIR treść obszaru izolowanego aplikacji (treść instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń. Dla treści uruchamianej w aplikacji Adobe AIR pliki obszaru izolowanego aplikacji mogą uzyskać dostęp do adresów URL za pomocą jednego z następujących schematów URL:
-
http
ihttps
-
file
-
app-storage
-
app
Do treści uruchamianej w aplikacji Adobe AIR , która nie znajduje się w obszarze izolowanym aplikacji, stosowane są te same ograniczenia, co do treści uruchamianej w przeglądarce (w programie Flash Player) i ładowanie jest regulowane treścią domeny i wszystkimi uprawnieniami nadanymi w plikach reguł URL.
Uwaga: począwszy od systemu iOS9 firma Apple wprowadziła usługę App Transport Security, która uniemożliwia nawiązywanie niezabezpieczonych połączeń między aplikacją a usługami sieciowymi. W związku z tą zmianą wszystkie połączenia z niezabezpieczonymi stronami internetowymi, takimi jak Loader czy URLLoarder, przestaną działać z powodu wdrożenia usługi App Transport Security. Należy określić wyjątki od zachowania domyślnego, dodając klucze do znacznika do deskryptora w swojej aplikacji.
Należy określić wyjątki od zachowania domyślnego, dodając klucze do znacznika InfoAdditions deskryptora w swojej aplikacji.
<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>
Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
authenticate : Boolean
Określa, czy dla tego żądania będą obsługiwane żądania uwierzytelniania (wartość true) czy nie (wartość false). | URLRequest | ||
cacheResponse : Boolean
Określa, czy dane odpowiedzi powinny być buforowane dla tego żądania. | URLRequest | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
contentType : String
Typ treści MIME dla treści we właściwości data. | URLRequest | ||
data : Object
Obiekt zawierający dane, które będą przesyłane razem z żądaniem URL. | URLRequest | ||
digest : String
Ciąg znaków jednoznacznie określający oznaczony składnik platformy Adobe, który ma być przechowywany w (lub pobierany z) pamięci podręcznej programu Flash Player. | URLRequest | ||
followRedirects : Boolean
Określa, czy przekierowania będą realizowane (wartość true), czy nie (wartość false). | URLRequest | ||
idleTimeout : Number
Określa limit czasu bezczynności (w milisekundach) dla tego żądania. | URLRequest | ||
manageCookies : Boolean
Określa, czy stos protokołu HTTP powinien zarządzać ciasteczkami tego żądania. | URLRequest | ||
method : String
Steruje metodą wysyłania treści formularzy HTTP. | URLRequest | ||
requestHeaders : Array
Tablica nagłówków HTTP, które mają być dołączone do żądania HTTP. | URLRequest | ||
url : String
Docelowy adres URL żądania. | URLRequest | ||
useCache : Boolean
Określa, czy przed pobraniem danych przez to polecenie URLRequest powinien być przeszukiwany bufor lokalny. | URLRequest | ||
userAgent : String
Określa ciąg znaków agenta użytkownika, które będą używane w żądaniu HTTP. | URLRequest |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
URLRequest(url:String = null)
Tworzy nowy obiekt URLRequest. | URLRequest | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
useRedirectedURL(sourceRequest:URLRequest, wholeURL:Boolean = false, pattern:* = null, replace:String = null):void
Pozwala na zastąpienie fragmentu przekierowanego adresu URL podanego w źródłowym obiekcie URLRequest i przekazanie zmienionego adresu w nowym obiekcie URLRequest. | URLRequest | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
authenticate | właściwość |
authenticate:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0 |
Określa, czy dla tego żądania będą obsługiwane żądania uwierzytelniania (wartość true
) czy nie (wartość false
). Jeśli wartość to false
, uwierzytelnianie zwróci błąd HTTP.
Obsługiwanymi metodami uwierzytelniania są:
- System Windows — HTTP Basic/Digest, Windows Integrated Authentication (włącznie z protokołami NTLM i Kerberos), uwierzytelnianie certyfikatów SSL.
- Komputery Mac — HTTP Basic/Digest, protokół NTLM, uwierzytelnianie certyfikatów SSL.
Uwaga:metody FileReference.upload()
, FileReference.download()
oraz HTMLLoader.load()
nie obsługują właściwości URLRequest.authenticate
.
Wartością domyślną jest true.
Implementacja
public function get authenticate():Boolean
public function set authenticate(value:Boolean):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
cacheResponse | właściwość |
cacheResponse:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0 |
Określa, czy dane odpowiedzi powinny być buforowane dla tego żądania. Jeśli ustawiono wartość true
, aplikacja AIR użyje pamięci podręcznej HTTP systemu operacyjnego.
Uwaga:metoda HTMLLoader.load()
nie obsługuje właściwości URLRequest.cacheResponse
.
Wartością domyślną jest true.
Implementacja
public function get cacheResponse():Boolean
public function set cacheResponse(value:Boolean):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
contentType | właściwość |
contentType:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Typ treści MIME dla treści we właściwości data
.
Wartością domyślną jest application/x-www-form-urlencoded
.
Uwaga:Metody FileReference.upload()
, FileReference.download()
oraz HTMLLoader.load()
nie obsługują właściwości URLRequest.contentType
.
Podczas wysyłania żądania POST wartości właściwości contentType
i data
muszą sobie odpowiadać. Wartość właściwości contentType
informuje serwer o tym, jak należy interpretować wartość właściwości data
.
- Jeśli wartością właściwości
data
jest obiekt URLVariables, wartością właściwościcontentType
musi byćapplication/x-www-form-urlencoded
. - Jeśli wartością właściwości
data
jest dowolny inny typ, wartość właściwościcontentType
powinna wskazywać typ danych żądania POST, które będą wysyłane (są nimi dane w postaci binarnej lub ciągu znaków zawarte we właściwościdata
). - Dla metody
FileReference.upload()
nagłówek Content-Type żądania automatycznie jest ustawiany na wartośćmultipart/form-data
, a wartość właściwościcontentType
jest ignorowana.
W programie Flash Player 10 i nowszych wersjach, jeśli użyty zostanie wieloczęściowy nagłówek Content-Type (np. "multipart/form-data"), w którym przesyłane są pliki (wskazywane przez parametr "filename" w nagłówku "content-disposition" w treści operacji POST), wówczas operacja POST podlega regułom zabezpieczeń zastosowanym do wysyłania plików:
- Operację POST należy wykonać w odpowiedzi na działanie zainicjowane przez użytkownika, np. kliknięcie myszy lub naciśnięcie klawisza.
- Jeśli operacja POST jest operacją międzydomenową (cel operacji POST nie znajduje się na tym samym serwerze, co plik SWF, który wysyła żądanie POST), docelowy serwer musi dostarczyć plik reguł URL, który zezwoli na międzydomenowy dostęp.
Dla dowolnego wieloczęściowego nagłówka Content-Type również składnia musi być poprawna (zgodnie ze standardami RFC2046). Jeśli składnia okaże się niepoprawna, operacja POST będzie podlegać regułom zabezpieczeń stosowanym do wysyłania plików.
Implementacja
public function get contentType():String
public function set contentType(value:String):void
Powiązane elementy interfejsu API
data | właściwość |
data:Object
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Obiekt zawierający dane, które będą przesyłane razem z żądaniem URL.
Ta właściwość używana jest w połączeniu z właściwością method
. Jeśli wartością właściwości method
jest GET
, wartość właściwości data
jest dołączana do wartości właściwości URLRequest.url
z użyciem składni ciągu zapytania HTTP. Jeśli wartością właściwości method
jest POST
(lub wartość inna niż GET
), wartość właściwości data
jest przesyłana w ciele żądania HTTP.
Interfejs API obiektu URLRequest oferuje binarną obsługę metody POST
oraz obsługę zmiennych zakodowanych w adresie URL jak również ciągów znaków. Obiektami danych mogą być obiekty ByteArray, URLVariables lub String.
Sposób użycia danych zależy od typu obiektu:
- Jeśli obiektem jest ByteArray, dane binarne obiektu ByteArray są używane jak dane metody
POST
. Dla metodyGET
dane typu ByteArray nie są obsługiwane. Dane typu ByteArray nie są obsługiwane również dla metodFileReference.upload()
iFileReference.download()
. - Jeśli obiektem jest URLVariables, a metodą jest
POST
, zmienne są kodowane formatem x-www-form-urlencoded, a wynikowy ciąg znaków użyty zostanie jako dane metodyPOST
. Wyjątek zostanie zgłoszony w wyniku wywołania metodyFileReference.upload()
, w której zmienne wysyłane są jako oddzielne pola komunikatumultipart/form-data
. - Jeśli obiektem jest URLVariables, a metodą
GET
, obiekt URLVariables definiuje zmienne wysyłane z obiektem URLRequest. - W innym wypadku obiekt konwertowany jest na łańcuch znaków i używany jako dane metody
POST
lubGET
.
Te dane nie są wysyłane dopóki metoda, na przykładnavigateToURL()
lub FileReference.upload()
, nie użyje obiektu URLRequest.
Uwaga: wartość właściwości contentType
musi odpowiadać typowi danych we właściwości data
. Więcej informacji zawiera uwaga w opisie właściwości contentType
.
Implementacja
public function get data():Object
public function set data(value:Object):void
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
Najważniejsze punkty przykładu:
- Funkcja konstruktora tworzy instancję URLRequest o nazwie
request
, pobierając adres URL aplikacji zdalnej jako parametr. - Tworzony jest obiekt URLVariables i do dwóch spośród jego właściwości przypisywane są wartości.
- Obiekt URLVariables jest przypisywany do właściwości
data
obiektu URLRequest. - W przykładzie wywoływana jest funkcja
navigateToURL
, która otwiera nowe okno przeglądarki z adresem URL aplikacji zdalnej.
Uwaga: aby uruchomić przykład, adres URL aplikacji zdalnej w przykładzie należy zastąpić działającym adresem URL. Ponadto potrzebny będzie kod serwera przetwarzający informacje przechwycone przez program Flash Player z obiektu URLVariables.
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 | właściwość |
digest:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4 |
Ciąg znaków jednoznacznie określający podpisany składnik platformy Adobe, który ma zostać zapisany do (lub pobierany z) pamięci podręcznej programu Flash Player. Składnik platformy Adobe jest plikiem podpisanym (plikiem SWZ) zawierającym treść SWF, która przechowywana jest na stałe w pamięci podręcznej komputera użytkownika. Wszystkie pliki SWZ są podpisywane przez firmę Adobe. Skrót odpowiada pojedynczemu zbuforowanemu plikowi; jeśli plik w jakikolwiek sposób zostanie zmieniony, jego skrót zmieni się w sposób nieprzewidywalny. Za pomocą skrótu można zweryfikować zbuforowany plik pomiędzy wieloma domenami. Dwa pliki o tym samym skrócie są jednym plikiem, a dwa pliki z różnymi skrótami nie są tym samym plikiem. Praktycznie nie ma możliwości utworzenia pliku „podszywającego się” pod skrót.
Skrót jest oparty o algorytm skrótu z komunikatów SHA-256 (64 znaki w formacie szesnastkowym).
Na przykład: program Flex SDK zawiera plik SWZ dla struktury Flex (i dostarcza skrót dla tego pliku). Plik SWZ można przesłać na serwer sieci Web i załadować go do pliku SWF (za pomocą metody load()
obiektu URLLoader). Jeśli komputer użytkownika końcowego zbuforował już odpowiedni plik SWZ, aplikacja użyje zbuforowanego pliku SWZ. (Plik SWZ jest zgodny, jeśli jego digest
jest zgodny ze skrótem dostarczonym przez programistę). W przeciwnym wypadku aplikacja pobierze plik SWZ z adresu URL wskazanego przez programistę.
Parametr digest
w obiekcie URLRequest używanym w wywołaniu metody URLLoader.load()
należy ustawić tylko w celu załadowania pliku SWZ. Jeśli właściwość digest
obiektu URLRequest jest ustawiana w czasie, gdy jest używana przez inne metody, aplikacja zgłosi wyjątek IOError.
Implementacja
public function get digest():String
public function set digest(value:String):void
Zgłasza
ArgumentError — Dostarczone skróty nie odpowiadają skrótom z pliku uzyskanego z pobranego pliku oznaczonego lub plik został załadowany poza pamięcią podręczną. Aplikacja zgłosi ten błąd również, jeśli dostarczony skrót ma niepoprawną długość lub zawiera nieprawidłowe znaki (niebędące znakami zapisu szesnastkowego).
|
Przykład ( Sposób korzystania z tego przykładu )
loadBytes()
:
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 | właściwość |
followRedirects:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Lite 4 |
Określa, czy przekierowania będą realizowane (true
), czy nie (false
).
Uwaga:metody FileReference.upload()
, FileReference.download()
oraz HTMLLoader.load()
nie obsługują właściwości URLRequest.followRedirects
.
Wartością domyślną jest true.
Implementacja
public function get followRedirects():Boolean
public function set followRedirects(value:Boolean):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
idleTimeout | właściwość |
idleTimeout:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2 |
Określa limit czasu bezczynności (w milisekundach) dla tego żądania.
Limit czasu bezczynności to czas, przez jaki klient czeka na odpowiedź z serwera po nawiązaniu połączenia, zanim nie zrezygnuje z żądania.
Uwaga: Metoda HTMLLoader.load()
nie obsługuje właściwości URLRequest.idleTimeout
. W klasie HTMLLoader zdefiniowana jest odrębna właściwość idleTimeout
.
Wartością domyślną jest initialized from the URLRequestDefaults.idleTimeout property.
Implementacja
public function get idleTimeout():Number
public function set idleTimeout(value:Number):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
manageCookies | właściwość |
manageCookies:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0 |
Określa, czy stos protokołu HTTP powinien zarządzać ciasteczkami tego żądania. Jeśli wartość to true
, ciasteczka zostaną dodane do żądania a ciasteczka odpowiedzi zapamiętane. Jeśli wartość to false
, pliki cookie nie zostaną dodane do plików cookie żądania, a pliki cookie ciasteczka odpowiedzi nie zostaną zapamiętane, jednak użytkownicy będą mogli samodzielnie zarządzać plikami cookie przez bezpośrednie modyfikowanie ich nagłówków. Uwaga: Jeśli w systemie Windows dla właściwości manageCookies
ustawiono wartość true
, do żądania URL nie można ręcznie dodawać plików cookie. W innych systemach operacyjnych dodawanie plików cookie do żądania jest dozwolone niezależnie od tego, czy dla właściwości manageCookies
ustawiono wartość true
czy false
. Gdy jest to dozwolone, można ręcznie dodawać pliki cookie do żądania, dodając do tablicy requestHeaders
obiekt URLRequestHeader
zawierający dane pliku cookie.
W systemie Mac OS, ciasteczka są udostępniane w przeglądarce Safari. Aby usunąć ciasteczka w systemie Mac OS:
- Otwórz przeglądarkę Safari.
- Wybierz polecenie Safari > Preferences i kliknij na panel Security.
- Kliknij przycisk Show Cookies.
- Kliknij przycisk Reomove All.
Aby usunąć ciasteczka w systemie Windows:
- Otwórz aplet Opcje internetowe w Panelu sterowania i wybierz kartę Ogólne.
- Kliknij przycisk Usuń pliki cookie.
Wartością domyślną jest true.
Implementacja
public function get manageCookies():Boolean
public function set manageCookies(value:Boolean):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
method | właściwość |
method:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Steruje metodą wysyłania treści formularzy HTTP.
Dla treści SWF uruchomionych w programie Flash Player (w przeglądarce), ta właściwość jest ograniczona do operacji GET i POST, a poprawnymi wartościami są URLRequestMethod.GET
oraz URLRequestMethod.POST
.
Dla treści uruchomionych w aplikacji Adobe AIR można użyć dowolnego ciągu znaków, jeśli treść znajduje się w obszarze izolowanym aplikacji. W przeciwnym wypadku, podobnie jak dla treści uruchomionych w programie Flash Player, użytkownik ograniczany jest do użycia operacji GET lub POST.
W przypadku treści działającej w środowisku Adobe AIR użycie funkcji navigateToURL()
powoduje, że środowisko wykonawcze traktuje obiekt URLRequest korzystający z metody POST (z właściwością method
ustawioną na URLRequestMethod.POST
) w taki sposób, jak gdyby została użyta metoda GET.
Uwaga: jeśli uruchomiono w programie Flash Player, a formularz, do którego występuje odwołanie, nie posiada ciała, program Flash Player automatycznie użyje operacji GET nawet, jeśli właściwość method ma wartość URLRequestMethod.POST
. Dlatego należy zawsze dołączyć fikcyjne ciało, aby zapewnić użycie poprawnej metody.
Wartością domyślną jest URLRequestMethod.GET.
Implementacja
public function get method():String
public function set method(value:String):void
Zgłasza
ArgumentError — Jeśli parametr value jest różny od URLRequestMethod.GET i URLRequestMethod.POST .
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
URLRequest.method
na URLRequestMethod.POST
.
Najważniejsze punkty przykładu:
- Funkcja konstruktora tworzy instancję URLRequest o nazwie
request
, pobierając adres URL aplikacji zdalnej jako parametr. - Tworzony jest obiekt URLVariables i do dwóch spośród jego właściwości przypisywane są wartości.
- Obiekt URLVariables jest przypisywany do właściwości
data
obiektu URLRequest. - Wartość właściwości
URLRequest.method
ustawiana jest naURLRequestMethod.POST
. - W przykładzie wywoływana jest funkcja
navigateToURL
, która otwiera nowe okno przeglądarki z adresem URL aplikacji zdalnej.
Uwaga: aby uruchomić przykład, adres URL aplikacji zdalnej w przykładzie należy zastąpić działającym adresem URL. Ponadto potrzebny będzie kod serwera przetwarzający informacje przechwycone przez program Flash Player z obiektu URLVariables.
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 | właściwość |
requestHeaders:Array
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tablica nagłówków HTTP, które mają być dołączone do żądania HTTP. Tablica jest tworzona z obiektów URLRequestHeader. Każdy obiekt w tablicy musi być obiektem URLRequestHeader zawierającym nazwę i wartość w postaci ciągu znaków tak, jak przedstawiono poniżej:
var rhArray:Array = new Array(new URLRequestHeader("Content-Type", "text/html"));
Środowisko wykonawcze programu Flash Player i aplikacji AIR narzuca pewne ograniczenia na nagłówki żądania; więcej informacji znajduje się w opisie klasy URLRequestHeader.
Nie wszystkie metody, które akceptują parametry obiektu URLRequest, obsługują właściwość requestHeaders
, dlatego należy zapoznać się z dokumentacją wywoływanych metod. Na przykład metody FileReference.upload()
i FileReference.download()
nie obsługują właściwości URLRequest.requestHeaders
.
Z powodu ograniczeń przeglądarki, niestandardowe nagłówki żądań HTTP są obsługiwane jedynie przez żądania POST
, nie przez GET
.
Implementacja
public function get requestHeaders():Array
public function set requestHeaders(value:Array):void
Powiązane elementy interfejsu API
url | właściwość |
url:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Docelowy adres URL żądania.
Należy upewnić się, że zakodowane zostaną wszystkie znaki, również te opisane w specyfikacji adresów Uniform Resource Locator jako niebezpieczne (zobacz http://www.faqs.org/rfcs/rfc1738.html) oraz znaki zarezerwowane w schemacie URL obiektu URLRequest (jeśli nie są używane do celów, dla jakich zostały zarezerwowane). Na przykład "%25"
dla symbolu procenta (%) oraz "%23"
dla znaku hash (#) jak w "http://www.example.com/orderForm.cfm?item=%23B-3&discount=50%25"
.
Domyślnie adres URL musi znajdować się w tej samej domenie, co plik wywołujący chyba, że treść została uruchomiona w obszarze izolowanym aplikacji Adobe AIR . Jeśli zaistnieje potrzeba ładowania danych z różnych domen, należy umieścić plik reguł URL na serwerze przechowującym dane. Więcej informacji znajduje się w opisie klasy URLRequest.
Dla treści uruchamianej w aplikacji Adobe AIR pliki obszaru izolowanego aplikacji — pliki instalowane razem z aplikacją AIR — mogą uzyskać dostęp do adresów URL za pomocą jednego z następujących schematów URL:
http
ihttps
file
app-storage
app
Uwaga: protokół IPv6 (protokół IP w wersji 6) jest obsługiwany w aplikacji AIR oraz w programie Flash Player 9.0.115.0 i nowszych. IPv6 jest wersją protokołu internetowego obsługującą adresy 128-bitowe (wcześniejsza wersja protokołu IPv4 obsługuje adresy 32-bitowe). Może zaistnieć potrzeba aktywowania protokołu IPv6 w interfejsach sieciowych użytkownika. Aby uzyskać więcej informacji, należy zapoznać się z pomocą systemu operacyjnego przechowującego dane. Jeśli protokół IPv6 jest obsługiwany przez system operacyjny, wówczas numeryczną wartość adresów protokołu IPv6 objętych nawiasami kwadratowymi ([]) można określić w adresach URL tak, jak w poniższym przykładzie.
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
Implementacja
public function get url():String
public function set url(value:String):void
Przykład ( Sposób korzystania z tego przykładu )
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 | właściwość |
useCache:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0 |
Określa, czy przed pobraniem danych przez to polecenie URLRequest powinna być przeszukiwana lokalna pamięć podręczna.
Uwaga:metoda HTMLLoader.load()
nie obsługuje właściwości URLRequest.useCache
.
Wartością domyślną jest true.
Implementacja
public function get useCache():Boolean
public function set useCache(value:Boolean):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
userAgent | właściwość |
userAgent:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Lite 4 |
Określa ciąg agenta użytkownika, który będzie używany w żądaniu HTTP.
Domyślną wartością jest ten sam ciąg agenta użytkownika, który używany jest przez program Flash Player; jest on różny w systemach Mac, Linux i Windows.
Uwaga: ta właściwość nie ma wpływu na ciąg agenta użytkownika, jeśli obiekt URLRequest używany jest z metodą load()
obiektu HTMLLoader. Aby ustawić ciąg agenta użytkownika dla obiektu HTMLLoader, należy ustawić właściwość userAgent
obiektu HTMLLoader lub właściwość statyczną URLRequestDefaults.userAgent
.
Implementacja
public function get userAgent():String
public function set userAgent(value:String):void
Zgłasza
SecurityError — Kod wywołujący nie znajduje się w obszarze izolowanym aplikacji środowiska AIR.
|
Powiązane elementy interfejsu API
URLRequest | () | Konstruktor |
public function URLRequest(url:String = null)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tworzy nowy obiekt URLRequest. Jeśli właściwość System.useCodePage
ma wartość true
, żądanie jest kodowane za pomocą strony kodowej systemu, a nie standardu Unicode. Jeśli właściwość System.useCodePage
ma wartość false
, żądanie jest kodowane za pomocą standardu Unicode, a nie przy użyciu strony kodowej systemu.
url:String (default = null ) — Docelowy adres URL żądania. Adres URL można ustawić później za pomocą właściwości url .
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
// 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 | () | metoda |
public function useRedirectedURL(sourceRequest:URLRequest, wholeURL:Boolean = false, pattern:* = null, replace:String = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11.8, AIR 3.8 |
Pozwala na zastąpienie fragmentu przekierowanego adresu URL podanego w źródłowym obiekcie URLRequest i przekazanie zmienionego adresu w nowym obiekcie URLRequest. Pozwala, aby po przekierowaniu początkowego żądania kolejne były wysyłane bezpośrednio na nowy (przekierowany) adres serwera.
Po wykonaniu początkowego obiektu URLRequest, gdy parametr HTTPStatusEvent.redirected
ma wartość true, można wywołać tę metodę, używając żądania początkowego jako obiektu sourceRequest
. Domyślnie domena w adresie URL w tym obiekcie URLRequest zostanie zastąpiona domeną z przekierowanego adresu URL. Przed wywołaniem tej metody należy ustawić parametr URLRequest.url
. Metoda musi zostać wywołana przed wczytaniem obiektu URLRequest. Ewentualnie jeśli parametr wholeURL
ma wartość true, zastąpiony zostanie cały adres URL ze źródłowego obiektu URLRequest (bez nazwy pliku) przez cały adres URL z tego obiektu URLRequest (również bez nazwy pliku). Dodatkowo w kodzie wywołującym można przekazać ciąg lub wyrażenie regularne, używając parametru pattern
. Taki wzorzec zostanie wyszukany i zastąpiony ciągiem podanym w parametrze replace
. Powyższe wyszukiwanie i zastępowanie jest wykonywane po zastąpieniu adresu URL.
Parametry
sourceRequest:URLRequest — Obiekt URLRequest, który został zażądany oraz przekierowany. Fragment przekierowanego adresu URL przekazanego w obiekcie URLRequest zostanie zastąpiony.
| |
wholeURL:Boolean (default = false ) — Określa, czy zastąpienie w źródłowym adresie URL ma dotyczyć tylko nazwy domeny, czy całego adresu bez nazwy pliku. Wartość domyślna to false .
| |
pattern:* (default = null ) — Wzorzec do wyszukania w adresie URL. Może być obiektem String lub RegExp. Wartość domyślna to null.
| |
replace:String (default = null ) — Ciąg, którym zostanie zastąpiony wzorzec znaleziony w adresie URL. Wartość domyślna to null.
|
Powiązane elementy interfejsu API
complete
i dane z pliku XML zostaną przesłane na wyjście. Dodatkowe detektory zdarzeń przechwytują pozostałe zdarzenia, włącznie ze zdarzeniami error.
Aby uruchomić ten przykład, należy umieścić plik o nazwie XMLFile.xml w tym samym katalogu, co plik SWF.
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, 12:06 PM Z