Package | flash.net |
Class | public final class URLRequest |
Inheritance | URLRequest ![]() |
Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
load()
methods of the Loader, URLStream,
and URLLoader classes, and to other loading operations, to initiate URL downloads.
They are also passed to the
upload()
and
download()
methods
of the FileReference class.
By default, the calling file and the URL you load must be in the same domain. For example, a file at www.adobe.com can load data only from sources that are also at www.adobe.com.
However, in Adobe AIR, content in the application security sandbox (content installed with the AIR application) is not restricted by these security limitations. For content running in Adobe AIR, files in the application security sandbox can access URLs using any of the following URL schemes:
http
and
https
file
app-storage
app
Content that is not in the application security sandbox observes the same restrictions as content running in the browser , and loading is governed by the content's domain .
For more information related to security, see the following:
See also
Property | Defined By | ||
---|---|---|---|
![]() | 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 | ||
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 |
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 |
contentType | property |
contentType:String
[read-write] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
The MIME content type of the content in the the
data
property.
The default value is
application/x-www-form-urlencoded
.
Note
:The
FileReference.upload()
,
FileReference.download()
, and
HTMLLoader.load()
methods do not
support the
URLRequest.contentType
property.
When sending a POST request, the values of the
contentType
and
data
properties must correspond properly. The value of the
contentType
property instructs servers on how to interpret the value of the
data
property.
data
property is a URLVariables object, the value of
contentType
must be
application/x-www-form-urlencoded
.
data
property is any other type, the value of
contentType
should indicate the type of the POST data that will be sent (which is the binary or string data
contained in the value of the
data
property).
FileReference.upload()
,
the Content-Type of the request is set automatically to
multipart/form-data
,
and the value of the
contentType
property is ignored.
In Flash Player 10 and later, if you use a multipart Content-Type (for example "multipart/form-data") that contains an upload (indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads:
Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads.
public function get contentType():String
public function set contentType(value:String):void
See also
data | property |
data:Object
[read-write] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
An object containing data to be transmitted with the URL request.
This property is used in conjunction with the
method
property.
When the value of
method
is
GET
,
the value of
data
is appended to the value of
URLRequest.url
,
using HTTP query-string syntax. When the
method
value is
POST
(or any value other than
GET
), the value
of
data
is transmitted in the body of the HTTP request.
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.
Note
: The value of
contentType
must correspond to the type of data
in the
data
property. See the note in the description of the
contentType
property.
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] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9.0.115.0 |
A string that uniquely identifies the signed Adobe platform component to be stored to (or retrieved from) the Flash Player cache.
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. The
application 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)); }
method | property |
method:String
[read-write] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
Controls the HTTP form submission method.
can use any string value if the content is in the application security sandbox. Otherwise, you are restricted to using GET or POST operations .
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] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
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"));
certain restrictions on request headers; for more information, see the URLRequestHeader class description.
Not all methods that accept URLRequest parameters support the
requestHeaders
property,
consult the documentation for the method you are calling. For example, the
FileReference.upload()
and
FileReference.download()
methods do not
support the
URLRequest.requestHeaders
property.
Due to browser limitations, custom HTTP request headers are only supported for
POST
requests,
not for
GET
requests.
public function get requestHeaders():Array
public function set requestHeaders(value:Array):void
See also
url | property |
url:String
[read-write] Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
The URL to be requested.
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"
.
By default, the URL must be in the same domain as the calling file, unless the content is running in the application security sandbox. . For more information, see the description of the URLRequest class.
in the application security sandobx — 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 . 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 ([]) .
public function get url():String
public function set url(value:String):void
URLRequest | () | Constructor |
public function URLRequest(url:String = null)
Language Version: | ActionScript 3.0 |
Runtime Versions: | 1.0, 9 |
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); } } }