Пакет | flash.net |
Класс | public final class URLRequest |
Наследование | URLRequest ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
load()
классов Loader, URLStream и URLLoader, а также другим операциям загрузки для инициации загрузок URL. Кроме того, они передаются методам upload()
и download()
класса FileReference.
SWF-файл в изолированной программной среде, локальной для файловой системы, может не поддерживать загрузку и передачу данных для ресурса, находящегося в сетевой изолированной программной среде.
По умолчанию вызывающий SWF-файл и загружаемый URL-адрес должны находиться в одном домене. Например, SWF-файл на www.adobe.com может загружать данные только из источников, которые также размещены на сайте www.adobe.com. Чтобы загрузить данные с другого домена, разместите файл политик для URL на сервере, где расположены эти данные.
Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности приложения (содержимое, установленное с приложением AIR). В Adobe AIR файлы, находящиеся в изолированной программной среде приложения могут обращаться к URL-адресам с использованием любой из следующих схем URL:
http
и https
file
app-storage
app
К содержимому в Adobe AIR, то есть за пределами изолированной программной среды безопасности приложения, применяются те же ограничения, что и к содержимому в обозревателе (в Flash Player), и загрузка управляется доменом содержимого и всем правами доступа, предоставленными в файлах политик для URL.
Дополнительные сведения о безопасности см. в следующих ресурсах.
См. также
Свойство | Определено | ||
---|---|---|---|
![]()
Указывает, должны обрабатываться запросы с аутентификацией (true) или нет (false). | URLRequest | ||
![]()
Указывает, должны ли сохраняться в кэше данные успешного ответа на этот запрос. | URLRequest | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
contentType : String
MIME-тип содержимого в свойстве data. | URLRequest | ||
data : Object
Объект, содержащий данные, которые должны быть переданы с запросом URL. | URLRequest | ||
digest : String
Строка, уникальным образом идентифицирующая подписанный компонент платформы Adobe, который должен быть сохранен (или извлечен) в кэш-памяти проигрывателя Flash Player. | URLRequest | ||
![]()
Указывает, следует выполнять перенаправления (true) или нет (false). | URLRequest | ||
![]()
Определяет, должен ли стек протокола НТТР управлять файлами cookie для данного запроса. | URLRequest | ||
method : String
Управляет методом отправки форм НТТР. | URLRequest | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
requestHeaders : Array
Массив заголовков запроса HTTP, который должен быть добавлен к запросу HTTP. | URLRequest | ||
url : String
URL-адрес, к которому будет выполнен запрос. | URLRequest | ||
![]()
Указывает, необходимо ли обращаться в локальный кэш перед получением данных этим запросом URLRequest. | URLRequest | ||
![]()
Задает строку user-agent для запроса НТТР. | URLRequest |
Метод | Определено | ||
---|---|---|---|
URLRequest(url:String = null)
Создает объект URLRequest. | URLRequest | ||
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object |
![]() | свойство |
authenticate:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает, должны обрабатываться запросы с аутентификацией (true
) или нет (false
). При значении false
попытки выполнить аутентификацию вызывают ошибку HTTP.
Поддерживаются следующие методы аутентификации:
Примечание. Методы FileReference.upload()
, FileReference.download()
и HTMLLoader.load()
не поддерживают свойство URLRequest.authenticate
.
Значение по умолчанию true
public function get authenticate():Boolean
public function set authenticate(value:Boolean):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
![]() | свойство |
cacheResponse:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает, должны ли сохраняться в кэше данные успешного ответа на этот запрос. При значении true
приложение AIR использует кэш HTTP операционной системы.
Примечание. Метод HTMLLoader.load()
не поддерживает свойство URLRequest.cacheResponse
.
Значение по умолчанию true
public function get cacheResponse():Boolean
public function set cacheResponse(value:Boolean):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
contentType | свойство |
contentType:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
MIME-тип содержимого в свойстве data
.
Примечание. Методы FileReference.upload()
, FileReference.download()
и HTMLLoader.load()
не поддерживают свойство URLRequest.contentType
.
Примечание. При отправке запроса POST значения свойств contentType
и data
должны быть надлежащим образом согласованы. Значение свойства contentType
указывает серверам, как интерпретировать значение свойства data
. Если значением свойства data
является объект URLVariables, значением contentType
должно быть application/x-www-form-urlencoded
. Если свойство data
имеет значение любого другого типа, значение contentType
должно указывать тип отправляемых данных POST (двоичные или строковые данные, содержащиеся в значении свойства data
). Для метода FileReference.upload()
тип содержимого запроса автоматически получает значение multipart/form-data
, при этом значение свойства contentType
игнорируется.
Значение по умолчанию: application/x-www-form-urlencoded
.
public function get contentType():String
public function set contentType(value:String):void
См. также
data | свойство |
data:Object
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Объект, содержащий данные, которые должны быть переданы с запросом URL.
Данное свойство используется вместе со свойством method
. Когда method
имеет значение GET
, значение data
добавляется к значению URLRequest.url
с использованием синтаксиса строки запроса HTTP. Когда method
имеет значение POST
(или любое другое, кроме GET
), значение data
передается в теле запроса HTTP.
API-интерфейс URLRequest поддерживает двоичный POST
и переменные в кодировке URL-адреса, а также строки. Объект данных может быть следующего типа: ByteArray, URLVariables или String.
Способ применения данных зависит от типа используемого объекта:
POST
. Данные типа ByteArray не поддерживаются для метода GET
. Вдобавок, данные ByteArray не поддерживаются для FileReference.upload()
и FileReference.download()
.POST
, переменные кодируются с помощью формата x-www-form-urlencoded. Полученная в результате строка используется как данные POST
. Исключением является вызов метода FileReference.upload()
, в котором переменные отправляются как отдельные поля в формате multipart/form-data
.GET
данный объект URLVariables определяет переменные, которые должны быть отправлены с объектом URLRequest.POST
или GET
.Эти данные не отправляются до тех пор, пока метод (например, navigateToURL()
или FileReference.upload()
) не будет использовать объект URLRequest.
Примечание. Значение contentType
должно соответствовать типу данных в свойстве data
. См. примечание в описании свойства contentType
.
public function get data():Object
public function set data(value:Object):void
См. также
Основные моменты данного примера представлены ниже:
request
, принимая в качестве параметра URL-адрес удаленного приложения.data
объекта URLRequest.navigateToURL
, открывающий новое окно обозревателя с URL-адресом удаленного приложения.Примечание. Чтобы запустить данный пример, необходимо заменить в примере URL-адрес удаленного приложения на любой действующий URL-адрес. Вдобавок, необходимо, чтобы код сервера обработал информацию, захваченную проигрывателем Flash Player в объекте 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 | свойство |
digest:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.115.0 |
Строка, уникальным образом идентифицирующая подписанный компонент платформы Adobe, который должен быть сохранен (или извлечен) в кэш-памяти проигрывателя Flash Player. Дайджест соответствует одному кэшированному файлу. При внесении любых изменений в файл его дайджест изменится непредсказуемым образом. С помощью дайджеста можно проверять кэшированный файл по нескольким доменам. Если у двух файлов одинаковый дайджест, это один и тот же файл. Если же у двух файлов разные дайджесты, значит, это не один и тот же файл. Практически невозможно создать файл с фальшивым дайджестом, и выдать его за другой. Это свойство применяется только к SWF-содержимому и не применяется к коду JavaScript, выполняемому в AIR.
Дайджест основан на алгоритме дайджеста сообщения SHA-256 (с длиной 64 в шестнадцатеричном формате).
public function get digest():String
public function set digest(value:String):void
ArgumentError — Предоставленный дайджест не совпадает с дайджестом файла, извлеченным из загруженного файла с подписью или из файла с подписью, загруженного из кэш-памяти. Flash Player также создает данную ошибку, если предоставленный дайджест имеет неправильную длину или содержит недопустимые (не шестнадцатеричные) символы.
|
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:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Задает, следует выполнять перенаправления (true
) или нет (false
).
Примечание. Методы FileReference.upload()
, FileReference.download()
и HTMLLoader.load()
не поддерживают свойство URLRequest.followRedirects
.
Значение по умолчанию true
public function get followRedirects():Boolean
public function set followRedirects(value:Boolean):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
![]() | свойство |
manageCookies:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Определяет, должен ли стек протокола НТТР управлять файлами cookie для данного запроса. При значении true
файлы cookie добавляются в запрос и cookie ответа запоминаются. При значении false
файлы cookie не добавляются в запрос и cookie ответа не запоминаются, однако пользователи могут самостоятельно управлять cookie путем непосредственных манипуляций с заголовком.
В системе Mac OS файлы cookie используются совместно с Safari. Чтобы удалить файлы cookie в Mac OS, выполните следующие действия.
Чтобы удалить файлы cookie в Windows, выполните следующие действия.
Значение по умолчанию true
public function get manageCookies():Boolean
public function set manageCookies(value:Boolean):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
method | свойство |
method:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Управляет методом отправки форм НТТР.
Для SWF-содержимого, выполняемого в Flash Player (в обозревателе), это свойство ограничено операциями GET и POST, поэтому действительными являются значения URLRequestMethod.GET
и URLRequestMethod.POST
.
Для содержимого, выполняемого в Adobe AIR, можно использовать любое строковое значение, если содержимое находится в изолированной программной среде приложения. Если нет, то можно использовать только операции GET или POST, как и для содержимого в Flash Player,.
Примечание. Если в Flash Player указанная форма не имеет содержимого, проигрыватель автоматически использует операцию GET, даже если для метода установлено значение URLRequestMethod.POST
. По этой причине рекомендуется всегда вставлять фиктивное содержимое, тем самым обеспечивая применение нужного метода.
Значение по умолчанию URLRequestMethod.GET
public function get method():String
public function set method(value:String):void
ArgumentError — Если параметр value не имеет значение URLRequestMethod.GET или URLRequestMethod.POST .
|
См. также
URLRequest.method
значение URLRequestMethod.POST
.
Основные моменты данного примера представлены ниже:
request
, принимая в качестве параметра URL-адрес удаленного приложения.data
объекта URLRequest.URLRequest.method
установлено значение URLRequestMethod.POST
.navigateToURL
, открывающий новое окно обозревателя с URL-адресом удаленного приложения.Примечание. Чтобы запустить данный пример, необходимо заменить в примере URL-адрес удаленного приложения на любой действующий URL-адрес. Вдобавок, необходимо, чтобы код сервера обработал информацию, захваченную проигрывателем Flash Player в объекте 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 | свойство |
requestHeaders:Array
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Массив заголовков запроса HTTP, который должен быть добавлен к запросу HTTP. Массив состоит из объектов URLRequestHeader. Каждый объект в массиве должен быть объектом URLRequestHeader, содержащим строку имени и строку значения, как показано ниже:
var rhArray:Array = new Array(new URLRequestHeader("Content-Type", "text/html"));
Среда выполнения Flash Player и AIR накладывают определенные ограничения за заголовки запросов. Дополнительные сведения см. в описании класса URLRequestHeader.
Не все методы, принимающие параметры URLRequest, поддерживают свойство requestHeaders
. Дополнительные сведения см. в описании вызываемого метода. Например, методы FileReference.upload()
и FileReference.download()
не поддерживают свойство URLRequest.requestHeaders
.
Вследствие ограниченных возможностей обозревателей, пользовательские заголовки запросов НТТР поддерживаются только для запросов POST
, а для GET
— нет.
public function get requestHeaders():Array
public function set requestHeaders(value:Array):void
См. также
url | свойство |
url:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
URL-адрес, к которому будет выполнен запрос.
Обязательно закодируйте все символы, которые описаны как небезопасные в спецификации URL (см. http://www.faqs.org/rfcs/rfc1738.html) или зарезервированы в схеме URL объекта URLRequest (когда они не используются с указанной целью). Например, используйте "%25"
для символа процентов (%) и "%23"
для знака (#), как в "http://www.example.com/orderForm.cfm?item=%23B-3&discount=50%25"
.
По умолчанию URL должен находиться в том же домене, что и вызывающий файл, если содержимое не выполняется в изолированной программной среде безопасности приложения Adobe AIR. Если требуется загрузить данные из другого домена, на сервере, на котором находятся данные, необходимо поместить файл политик для URL. Подробные сведения см. в описании класса URLRequest.
В Adobe AIR файлы, находящиеся в изолированной программной среде приложения, то есть установленные вместе с приложением AIR, могут обращаться к URL-адресам с использованием любой из следующих схем URL:
http
и https
file
app-storage
app
Примечание. IPv6 (интернет-протокол версии 6) поддерживается в AIR и Flash Player 9.0.115.0 и более поздних версиях. IPv6 — это версия Internet Protocol (интернет-протокола), поддерживающего 128-разрядные адреса (усовершенствование протокола IPv4, поддерживающего только 32-разрядные адреса). Вам может потребоваться активировать IPv6 на используемых интерфейсах сетевых соединений. Более подробные сведения представлены в справочных документах операционной системы, в которой размещены ваши данные. Если система хостинга поддерживает IPv6, вы можете указывать цифровые адреса IPv6 в URL-адресах, заключенные в квадратные скобки ([ ]), как показано ниже.
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
public function get url():String
public function set url(value:String):void
![]() | свойство |
useCache:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает, необходимо ли обращаться в локальный кэш перед получением данных этим запросом URLRequest.
Примечание. Метод HTMLLoader.load()
не поддерживает свойство URLRequest.useCache
.
Значение по умолчанию true
public function get useCache():Boolean
public function set useCache(value:Boolean):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
![]() | свойство |
userAgent:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Задает строку user-agent для запроса НТТР.
Значением по умолчанию является та же строка user-agent, которая используется Flash Player (она отличается для Mac и Windows).
Примечание. Это свойство не затрагивает строку user-agent, когда объект URLRequest используется с методом load()
объекта HTMLLoader. Чтобы задать строку user-agent для объекта HTMLLoader, настройте свойство userAgent
объекта HTMLLoader или статическое свойство URLRequestDefaults.userAgent
.
public function get userAgent():String
public function set userAgent(value:String):void
SecurityError — Вызывающий абонент не находится в изолированной программной среде AIR.
|
См. также
URLRequest | () | Конструктор |
public function URLRequest(url:String = null)
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает объект URLRequest. Если параметр System.useCodePage
имеет значение true
, запрос кодируется с помощью не Unicode, а системной кодовой страницы. Если параметр System.useCodePage
имеет значение false
, запрос кодируется не с использованием системной кодовой страницы, а с помощью Unicode.
url:String (default = null ) — URL-адрес, к которому будет выполнен запрос. Установить URL-адрес можно позже, используя свойство url .
|
См. также
complete
, а данные в XML-файле переходят в выходные данные. Дополнительные обработчики событий регистрируют другие события, включая ошибки.
Чтобы запустить данный пример, поместите файл XMLFile.xml в тот каталог, где находится рассматриваемый SWF-файл.
package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLRequestExample extends Sprite { public function URLRequestExample() { var loader:URLLoader = 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); } } }