Package | flash.net |
Class | public final class URLRequest |
Inheritance | URLRequest ![]() |
load()
methods of the Loader, URLStream,
and URLLoader classes as well as in other loading operations to initiate URL downloads,
as well as to the upload()
and download()
methods of the FileReference class.
By default, the URL that you pass to the url
parameter must be in
exactly the same domain as the calling SWF file, including subdomains. For example, www.adobe.com and
store.adobe.com are different domains. To load data from a different domain,
place a cross-domain policy file on the server that is hosting the data.
When you use this class in content running in Flash Player, consider the following security model:
However, in Adobe AIR, content in the application security sandbox (content installed with the AIR application) are not restricted by these security limitations.
For content running in Adobe AIR, files in the application security sandbox — files installed with the AIR application — can access URLs using any of the following URL schemes:
http
and https
file
app-storage
app
Content running in Adobe AIR that is not in the application security domain observes the same restrictions as content running in in the browser (in Flash Player), and loading is governed by the content's domain and any permissions granted in cross-domain policy files.
For more information, see the following:
See also
Property | Defined By | ||
---|---|---|---|
![]()
Specifies whether authentication requests should be handled (true
or not (false) for this request.
| URLRequest | ||
![]()
Specifies whether successful response data should be cached for this request.
| URLRequest | ||
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | |
contentType : String
The MIME content type of the content in the the data property.
| URLRequest | ||
data : Object
An object containing data to be transmitted with the URL request.
| URLRequest | ||
digest : String
A string that uniquely identifies the signed Adobe platform component to be stored
to (or retrieved from) the Flash Player cache.
| URLRequest | ||
![]()
Specifies whether redirects are to be followed (true)
or not (false).
| URLRequest | ||
![]()
Specifies whether the HTTP protocol stack should manage cookies for this
request.
| URLRequest | ||
method : String
Controls the HTTP form submission method.
| URLRequest | ||
![]() | prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | |
requestHeaders : Array
The array of HTTP request headers to be appended to the
HTTP request.
| URLRequest | ||
url : String
The URL to be requested.
| URLRequest | ||
![]()
Specifies whether the local cache should be consulted before this URLRequest
fetches data.
| URLRequest | ||
![]()
Specifies the user-agent string to be used in the HTTP request.
| URLRequest |
Method | Defined By | ||
---|---|---|---|
URLRequest(url:String = null)
Creates a URLRequest object.
| URLRequest | ||
![]() |
Indicates whether an object has a specified property defined.
| Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | |
![]() |
Indicates whether the specified property exists and is enumerable.
| Object | |
![]() |
Sets the availability of a dynamic property for loop operations.
| Object | |
![]() |
Returns the string representation of the specified object.
| Object | |
![]() |
Returns the primitive value of the specified object.
| Object |
![]() | property |
authenticate:Boolean
[read-write]
Specifies whether authentication requests should be handled (true
or not (false
) for this request. If false
, authentication
challenges return an HTTP error.
The supported authentication methods are:
Note:The FileReference.upload()
,
FileReference.download()
, and HTMLLoader.load()
methods do not support the URLRequest.authenticate
property.
The default value is true
.
public function get authenticate():Boolean
public function set authenticate(value:Boolean):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
![]() | property |
cacheResponse:Boolean
[read-write]
Specifies whether successful response data should be cached for this request.
When set to true
, the AIR application uses the operating system's
HTTP cache.
Note:The HTMLLoader.load()
method
does not support the URLRequest.cacheResponse
property.
The default value is true
.
public function get cacheResponse():Boolean
public function set cacheResponse(value:Boolean):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
contentType | property |
contentType:String
[read-write]
The MIME content type of the content in the the data
property.
Note:The FileReference.upload()
,
FileReference.download()
, and HTMLLoader.load()
methods do not
support the URLRequest.contentType
property.
public function get contentType():String
public function set contentType(value:String):void
See also
data | property |
data:Object
[read-write] An object containing data to be transmitted with the URL request.
This property is used with the method
property. In Adobe AIR,
data is sent when any HTTP method other than GET is used.
In Flash Player, data is set when the
POST HTTP method is used.
The URLRequest API offers binary POST
support and support for URL-encoded variables,
as well as support for strings. The data object can be a ByteArray, URLVariables,
or String object.
The way in which the data is used depends on the type of object used:
POST
data. For GET
, data of ByteArray type
is not supported. Also, data of ByteArray type is not supported for
FileReference.upload()
and FileReference.download()
.POST
,
the variables are encoded using x-www-form-urlencoded format
and the resulting string is used as POST
data. An exception is a call to
FileReference.upload()
, in which the variables are sent as separate fields in
a multipart/form-data
post.GET
,
the URLVariables object defines variables to be sent with the URLRequest object.POST
or GET
data.This data is not sent until a method, such as navigateToURL()
or FileReference.upload()
, uses the URLRequest object.
public function get data():Object
public function set data(value:Object):void
See also
Highlights of the example follow:
request
, taking the URL of the remote application as a parameter.data
property of the URLRequest object.navigateToURL
, which opens a new browser window
to the remote application's URL.Note: To run the example, the remote application URL in the example must be replaced with a working URL. Additionally, you would need server code to process the information captured by Flash Player in the URLVariables object.
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 | property |
digest:String
[read-write] A string that uniquely identifies the signed Adobe platform component to be stored to (or retrieved from) the Flash Player cache. A digest corresponds to a single cached file; if you change the file in any way, its digest will change in an unpredictable way. By using a digest, you can verify the cached file across multiple domains. Two files with the same digest are the same file, and two files with different digests are not the same file. A file cannot (practically) be created to "spoof" a digest and pretend to be another digest.This property applies to SWF content only; it does not apply to JavaScript code running in AIR.
The digest is based on an SHA-256 message digest algorithm (64 characters long in hexadecimal format).
Player Version: Flash Player 9 Update 3.
public function get digest():String
public function set digest(value:String):void
ArgumentError — The digest provided does not match the digest of the file that is
extracted from the downloaded signed file or the signed file loaded out of the cache. Flash
Player also throws this error if the provided digest
is the wrong length or contains invalid (nonhexadecimal) characters.
|
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)); }
![]() | property |
followRedirects:Boolean
[read-write]
Specifies whether redirects are to be followed (true
)
or not (false
).
Note:The FileReference.upload()
,
FileReference.download()
, and HTMLLoader.load()
methods do not
support the URLRequest.followRedirects
property.
The default value is true
.
public function get followRedirects():Boolean
public function set followRedirects(value:Boolean):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
![]() | property |
manageCookies:Boolean
[read-write]
Specifies whether the HTTP protocol stack should manage cookies for this
request. When true
, cookies are added to the request
and response cookies are remembered. If false
, cookies are
not added to the request and response cookies are not
remembered, but users can manage cookies themselves by direct header
manipulation.
On Mac OS, cookies are shared with Safari. To clear cookies on Mac OS:
To clear cookies on Windows:
The default value is true
.
public function get manageCookies():Boolean
public function set manageCookies(value:Boolean):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
method | property |
method:String
[read-write] Controls the HTTP form submission method.
For SWF content running in Flash Player
(in the browser), this property is limitted to GET
or
POST
operation, and valid values are URLRequestMethod.GET
or URLRequestMethod.POST
.
For content running in Adobe AIR, if the content is in the
application
security domain, you can use any string value; otherwise
(if the content is not in the AIR application
security domain)
you are still restricted to using GET
or POST
.
The default value is URLRequestMethod.GET
.
public function get method():String
public function set method(value:String):void
ArgumentError — If the value parameter is not
URLRequestMethod.GET or URLRequestMethod.POST .
|
See also
URLRequest.method
property to
URLRequestMethod.POST
.
Highlights of the example follow:
request
, taking the URL of the remote application as a parameter.data
property of the URLRequest object.URLRequest.method
property is set to
URLRequestMethod.POST
.navigateToURL
, which opens a new browser window
to the remote application's URL.Note: To run the example, the remote application URL in the example must be replaced with a working URL. Additionally, you would need server code to process the information captured by Flash Player in the URLVariables object.
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 | property |
requestHeaders:Array
[read-write] The array of HTTP request headers to be appended to the HTTP request. The array is composed of URLRequestHeader objects. Each object in the array must be a URLRequestHeader object that contains a name string and a value string, as follows:
var rhArray:Array = new Array(new URLRequestHeader("Content-Type", "text/html"));
Flash Player and the AIR runtime impose certain restrictions on request headers; for more information, see the URLRequestHeader class description.
The FileReference.upload()
and FileReference.download()
methods do not
support the URLRequest.requestHeaders
parameter.
public function get requestHeaders():Array
public function set requestHeaders(value:Array):void
See also
url | property |
url:String
[read-write] The URL to be requested.
For content running in Flash Player and
content running in Adobe AIR that is not in the
application
security sandbox, by default, the URL must be in
exactly the same domain as the calling file, including subdomains. For example, files at
www.adobe.com and store.adobe.com are in different domains.
Be sure to encode any characters that are either described as unsafe in the Uniform Resource Locator
specification (see http://www.faqs.org/rfcs/rfc1738.html) or that are reserved in the
URL scheme of the URLRequest object (when not used for their reserved purpose). For example,
use "%25"
for the percent (%) symbol and "%23"
for the number sign (#), as in
"http://www.example.com/orderForm.cfm?item=%23B-3&discount=50%25"
.
To load data from a different domain, put a cross-domain policy file on the server that is hosting the data. For more information, see the security documentation described in the URLRequest class description. This restriction does not apply to AIR content running in the application security sandbox.
For content running in Adobe AIR, files in the application security domain — files installed with the AIR application — can access URLs using any of the following URL schemes:
http
and https
file
app-storage
app
Note: IPv6 (Internet Protocol version 6) is supported AIR and Flash Player Update 3 and later versions. IPv6 is a version of Internet Protocol that supports 128-bit addresses (an improvement on the earlier IPv4 protocol that supports 32-bit addresses). You might need to activate IPv6 on your networking interfaces. For more information, see the Help for the operating system hosting the data. If IPv6 is supported on the hosting system, you can specify numeric IPv6 literal addresses in URLs enclosed in brackets ([]), as in the following:
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
public function get url():String
public function set url(value:String):void
![]() | property |
useCache:Boolean
[read-write] Specifies whether the local cache should be consulted before this URLRequest fetches data.
Note:The HTMLLoader.load()
method
does not support the URLRequest.useCache
property.
The default value is true
.
public function get useCache():Boolean
public function set useCache(value:Boolean):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
![]() | property |
userAgent:String
[read-write] Specifies the user-agent string to be used in the HTTP request.
The default value is the same user agent string that is used by Flash Player, which is different on Mac and Windows.
Note: This property does not affect the user agent string when
the URLRequest object is used with the load()
method of an
HTMLLoader object. To set the user agent string for an HTMLLoader object,
set the userAgent
property of the HTMLLoader object or set
the static URLRequestDefaults.userAgent
property.
public function get userAgent():String
public function set userAgent(value:String):void
SecurityError — The caller is not in the AIR application security sandbox.
|
See also
URLRequest | () | Constructor |
public function URLRequest(url:String = null)
Creates a URLRequest object.
If System.useCodePage
is true
, the request is encoded using the
system code page, rather than Unicode.
If System.useCodePage
is false
, the request is encoded using Unicode, rather than the
system code page.
url:String (default = null ) — The URL to be requested. You can set the URL later by using the url property.
|
See also
complete
event is dispatched and the data in the XML
file traces to the output. Additional event handlers capture other events, including error
events.
To run this example, place a file named XMLFile.xml in the same directory as your SWF file.
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); } } }