Packageflash.net
Classpublic final class URLRequest
InheritanceURLRequest Inheritance Object

The URLRequest class captures all of the information in a single HTTP request. URLRequest objects are passed to the load() methods of URLStream, URLLoader, Loader and 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 SWF file.

When you use this class in content running in Flash Player, consider the Adobe® Flash® Player security model:

However, in the Apollo runtime, content in the application security sandbox (content installed with the Apollo application) are not restricted by these security limitations.

For content running in Apollo, files in the application security domain — files installed with the Apollo application — can access URLs using any of the following URL schemes:

Content running in Apollo that is not in the application security domain observes the same restrictions as content running in Flash Player (in the browser), and loading is governed by the content's domain and any permissions granted in cross-domain policy files.

For more information, see the following:

View the examples.

See also

URLRequestHeader
URLLoader
URLStream
FileReference


Public Properties
 PropertyDefined by
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  contentType : String
The MIME content type of any POST data.
URLRequest
  data : Object
An object containing data to be transmitted with the URL request.
URLRequest
  followRedirects : Boolean
Specifies whether redirects are to be followed (true) or not (false).
URLRequest
  manageCookies : Boolean
Specifies whether the HTTP protocol stack should manage cookies for this request.
URLRequest
  method : String
Controls the HTTP form submission method.
URLRequest
 Inheritedprototype : 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
  shouldAuthenticate : Boolean
Specifies whether authentication requests should be handled (true or not (false) for this request.
URLRequest
  shouldCacheResponse : Boolean
Specifies whether successful response data should be cached for this request.
URLRequest
  url : String
The URL to be requested.
URLRequest
  useCache : Boolean
Specifies whether the local cache should be consulted before this URLRequest fetches data.
URLRequest
  userAgent : String
Specifies the user-agent string to be used in the HTTP request.
URLRequest
Public Methods
 MethodDefined by
  
URLRequest(url:String = null)
Creates a URLRequest object.
URLRequest
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property detail
contentTypeproperty
contentType:String  [read-write]

The MIME content type of any POST data.

Note:The FileReference.upload() and FileReference.download() methods do not support the URLRequest.contentType parameter.

Implementation
    public function get contentType():String
    public function set contentType(value:String):void
dataproperty 
data:Object  [read-write]

An object containing data to be transmitted with the URL request.

This property is used with the method property. If the value of URLRequest.method is POST, the data is transmitted with the URLRequest object with the HTTP POST method.

If the value of URLRequest.method is GET, the data defines variables to be sent with the URLRequest object with the HTTP GET method.

The URLRequest API offers binary POST support and support for URL-encoded variables, as well as support for strings. The data object can be of ByteArray, URLVariables, or String type.

The way in which the data is used depends on the type of object used:

This data is not sent until a method, such as navigateToURL() or FileReference.upload(), uses the URLRequest object.

Implementation
    public function get data():Object
    public function set data(value:Object):void

See also


Example
The following example opens the remote application hosted at http://www.[yourDomain].com/application.jsp in a new browser window and passes data about a user session, captured in a URLVariables object, to the application.

Highlights of the example follow:

  1. The constructor function creates a URLRequest instance named request, taking the URL of the remote application as a parameter.
  2. A URLVariables object is created and two of its properties are assigned values.
  3. The URLVariables object is assigned to the data property of the URLRequest object.
  4. The example calls 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);
        }
    }
}

followRedirectsproperty 
followRedirects:Boolean  [read-write]

Specifies whether redirects are to be followed (true) or not (false).

The default value is true.

Implementation
    public function get followRedirects():Boolean
    public function set followRedirects(value:Boolean):void
manageCookiesproperty 
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:

  1. Open Safari.
  2. Select Safari | Preferences, and click the Security panel.
  3. Click the Show Cookies button
  4. .
  5. Click the Reomove All button.

To clear cookies on Windows:

  1. Open the Internet Properties control panel, and click the General tab.
  2. Click the Delete Cookies button.

The default value is true.

Implementation
    public function get manageCookies():Boolean
    public function set manageCookies(value:Boolean):void
methodproperty 
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 the Apollo runtime, if the content is in the application security domain, you can use any string value; otherwise (if the content is not in the Apollo application security domain) you are still restricted to using GET or POST.

The default value is URLRequestMethod.GET.

Implementation
    public function get method():String
    public function set method(value:String):void

Throws
ArgumentError — If the value parameter is not URLRequestMethod.GET or URLRequestMethod.POST.

See also


Example
The following example opens the remote application hosted at http://www.[yourDomain].com/application.jsp in a new browser window and passes data about a user session, captured in a URLVariables object, to the application. It explicitly sets the value of the URLRequest.method property to URLRequestMethod.POST.

Highlights of the example follow:

  1. The constructor function creates a URLRequest instance named request, taking the URL of the remote application as a parameter.
  2. A URLVariables object is created and two of its properties are assigned values.
  3. The URLVariables object is assigned to the data property of the URLRequest object.
  4. The value of the URLRequest.method property is set to URLRequestMethod.POST.
  5. The example calls 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);
        }
    }
}

requestHeadersproperty 
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 imposes 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.

Implementation
    public function get requestHeaders():Array
    public function set requestHeaders(value:Array):void

See also

shouldAuthenticateproperty 
shouldAuthenticate: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:

The default value is true.

Implementation
    public function get shouldAuthenticate():Boolean
    public function set shouldAuthenticate(value:Boolean):void
shouldCacheResponseproperty 
shouldCacheResponse:Boolean  [read-write]

Specifies whether successful response data should be cached for this request.

The default value is true.

Implementation
    public function get shouldCacheResponse():Boolean
    public function set shouldCacheResponse(value:Boolean):void
urlproperty 
url:String  [read-write]

The URL to be requested.

For content running in Flash Player, by default, the URL must be in exactly the same domain as the calling SWF file, including subdomains. For example, SWF files at www.adobe.com and store.adobe.com are in different domains. To load data from a different domain, put a cross-domain policy file on the server that is hosting the SWF file. For more information, see the security documentation described in the URLRequest class description.

For content running in Apollo, files in the application security domain — files installed with the Apollo application — can access URLs using any of the following URL schemes:

Content running in Apollo that is not in the application security domain observes the same restrictions as content running in Flash Player (in the browser), and loading is governed by the content's domain and any permissions granted in cross-domain policy files.

Implementation
    public function get url():String
    public function set url(value:String):void
useCacheproperty 
useCache:Boolean  [read-write]

Specifies whether the local cache should be consulted before this URLRequest fetches data.

The default value is true.

Implementation
    public function get useCache():Boolean
    public function set useCache(value:Boolean):void
userAgentproperty 
userAgent:String  [read-write]

Specifies the user-agent string to be used in the HTTP request.

The default value is the same string used by Flash Player, which is different on Mac and Windows.

Implementation
    public function get userAgent():String
    public function set userAgent(value:String):void
Constructor detail
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.

Parameters
url:String (default = null) — The URL to be requested. You can set the URL later by using the url property.

See also

Examples

The following example creates a new Loader object and passes it a URLRequest object that contains the path to an XML file. If the loading operation is successful, a 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);
        }
    }
}




 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/apollo/1.0/aslr/flash/net/URLRequest.html