| Package | flash.net | 
| Class | public class URLStream | 
| Inheritance | URLStream  EventDispatcher  Object | 
| Implements | IDataInput | 
The read operations in URLStream are nonblocking.
 This means that you must use the bytesAvailable property to determine
 whether sufficient data is available before reading it.  An
 EOFError exception is thrown if insufficient
 data is available.
All binary data is encoded by default in big-endian format, with the most significant byte first.
The security rules that apply to URL downloading with the URLStream class are identical to the rules applied to URLLoader objects. Policy files may be downloaded as needed. Local file security rules are enforced, and security warnings are raised as needed.
See also
| Property | Defined By | ||
|---|---|---|---|
| bytesAvailable : uint [read-only] 
  Returns the number of bytes of data available for reading
  in the input buffer. | URLStream | ||
| connected : Boolean [read-only] 
  Indicates whether this URLStream object is
  currently connected. | URLStream | ||
|  | constructor : Object 
  A reference to the class object or constructor function for a given object instance. | Object | |
| endian : String 
     Indicates the byte order for the data. | URLStream | ||
| objectEncoding : uint 
  Controls the version of Action Message Format (AMF) used when writing or reading an object. | URLStream | ||
|  | prototype : Object [static] 
  A reference to the prototype object of a class or function object. | Object | |
| Method | Defined By | ||
|---|---|---|---|
|  | 
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
 
 Registers an event listener object with an EventDispatcher object so that the listener 
 receives notification of an event. | EventDispatcher | |
| 
  Immediately closes the stream and
  cancels the download operation. | URLStream | ||
|  | 
 Dispatches an event into the event flow. | EventDispatcher | |
|  | 
 Checks whether the EventDispatcher object has any listeners registered for a specific type 
 of event. | EventDispatcher | |
|  | 
  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 | |
| 
  Begins downloading the URL specified in the request parameter. | URLStream | ||
|  | 
  Indicates whether the specified property exists and is enumerable. | Object | |
| 
  Reads a Boolean value from the stream. | URLStream | ||
| 
  Reads a signed byte from the stream. | URLStream | ||
| 
  Reads length bytes of data from the stream. | URLStream | ||
| 
  Reads an IEEE 754 double-precision floating-point number from the stream. | URLStream | ||
| 
  Reads an IEEE 754 single-precision floating-point number from the stream. | URLStream | ||
| 
  Reads a signed 32-bit integer from the stream. | URLStream | ||
| 
  Reads a multibyte string of specified length from the byte stream using the
  specified character set. | URLStream | ||
| 
readObject():*
 
  Reads an object from the socket, encoded in Action Message Format (AMF). | URLStream | ||
| 
  Reads a signed 16-bit integer from the stream. | URLStream | ||
| 
  Reads an unsigned byte from the stream. | URLStream | ||
| 
  Reads an unsigned 32-bit integer from the stream. | URLStream | ||
| 
  Reads an unsigned 16-bit integer from the stream. | URLStream | ||
| 
  Reads a UTF-8 string from the stream. | URLStream | ||
| 
  Reads a sequence of length UTF-8
  bytes from the stream, and returns a string. | URLStream | ||
|  | 
 Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
     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 | |
|  | 
 Checks whether an event listener is registered with this EventDispatcher object or any of 
 its ancestors for the specified event type. | EventDispatcher | |
| Event | Summary | Defined By | ||
|---|---|---|---|---|
|  | Dispatched when Flash Player or an AIR application gains operating system focus and becomes active. | EventDispatcher | ||
| Dispatched when data has loaded successfully. | URLStream | |||
|  | Dispatched when Flash Player or an AIR application loses operating system focus and is becoming inactive. | EventDispatcher | ||
| Dispatched if a call to the URLStream.load() method attempts to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. | URLStream | |||
| Dispatched if a call to URLStream.load() attempts to access data over HTTP, and Flash Player or or Adobe AIR is able to detect and return the status code for the request. | URLStream | |||
| Dispatched when an input/output error occurs that causes a load operation to fail. | URLStream | |||
| Dispatched when a load operation starts. | URLStream | |||
| Dispatched when data is received as the download operation progresses. | URLStream | |||
| Dispatched if a call to URLStream.load() attempts to load data from a server outside the security sandbox. | URLStream | |||
| bytesAvailable | property | 
bytesAvailable:uint  [read-only] 
  Returns the number of bytes of data available for reading
  in the input buffer.
  Your code must call the bytesAvailable property to ensure
  that sufficient data is available before you try to read
  it with one of the read methods.
  
  
    public function get bytesAvailable():uint
| connected | property | 
connected:Boolean  [read-only] 
  Indicates whether this URLStream object is
  currently connected. A call to this property returns a value of true
  if the URLStream object is connected, or false otherwise.   
  
    public function get connected():Boolean
| endian | property | 
endian:String  [read-write] 
     Indicates the byte order for the data. Possible values are 
     Endian.BIG_ENDIAN or Endian.LITTLE_ENDIAN.
  
 The default value is Endian.BIG_ENDIAN.
    public function get endian():String
    public function set endian(value:String):void
See also
| objectEncoding | property | 
objectEncoding:uint  [read-write] Controls the version of Action Message Format (AMF) used when writing or reading an object.
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void
See also
| close | () | method | 
public function close():void
  Immediately closes the stream and
  cancels the download operation.
  No data can be read from the stream after the close() method is called.
  
  
| IOError — The stream could not be closed, or the stream was not open. | 
| load | () | method | 
public function load(request:URLRequest):void
  Begins downloading the URL specified in the request parameter.
    
Note: If a file being loaded contains non-ASCII characters (as found in many non-English languages), it is recommended that you save the file with UTF-8 or UTF-16 encoding, as opposed to a non-Unicode format like ASCII.
If the loading operation fails immediately, an IOError or SecurityError
  (including the local file security error) exception is thrown describing the failure.
  Otherwise, an open event is dispatched if the URL download
  starts downloading successfully, or an error event is dispatched if an error occurs.
When using this method, consider the Adobe® Flash® Player security model:
allowNetworking parameter of the the object and embed 
  tags in the HTML page that contains the SWF content.However, in Adobe AIR, content in the application security sandbox (content
     installed with the AIR application) are not restricted by these security limitations.
For more information, see the following:
Parameters
| request:URLRequest— A URLRequest object specifying the URL to download. If the value of
  this parameter or theURLRequest.urlproperty of the URLRequest object
  passed arenull, the application throws a null pointer error. | 
| complete:— Dispatched after data has loaded successfully. | |
| httpStatus:— If access is by HTTP and 
  the current environment supports obtaining status codes, you may
  receive these events in addition to anycompleteorerrorevent. | |
| httpResponseStatus:— Dispatched if a call to theload()method attempts
  to access data over HTTP and Adobe AIR is able to detect and return the status code for the request. | |
| ioError:— The load operation could not be
  completed. | |
| open:— Dispatched when a load operation starts. | |
| securityError:— A load operation attempted
  to retrieve data from a server outside the caller's security sandbox.
  This may be worked around using a policy file on the server. | 
| ArgumentError —URLRequest.requestHeaderobjects may not contain
  certain prohibited HTTP request headers. For more information, see the URLRequestHeader class
  description. | |
| MemoryError — This error can occur for the following reasons:
 | |
| SecurityError — Local untrusted files may not communicate with
     the Internet. This may be worked around by reclassifying this file
  as local-with-networking or trusted. | 
| readBoolean | () | method | 
public function readBoolean():Boolean
  Reads a Boolean value from the stream. A single byte is read,
  and true is returned if the byte is nonzero,
  false otherwise.
  
  
| Boolean—Trueis returned if the byte is nonzero,falseotherwise. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readByte | () | method | 
public function readByte():int
Reads a signed byte from the stream.
The returned value is in the range -128...127.
Returns| int— Value in the range -128...127. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readBytes | () | method | 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
  Reads length bytes of data from the stream.
  The bytes are read into the ByteArray object specified
  by bytes, starting offset bytes into
  the ByteArray object.
  
  
Parameters
| bytes:ByteArray— The ByteArray object to read
               data into. | |
| offset:uint(default =0)— The offset intobytesat which data
                read should begin.  Defaults to 0. | |
| length:uint(default =0)— The number of bytes to read.  The default value
                of 0 will cause all available data to be read. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream, or the stream is not open. | 
| readDouble | () | method | 
public function readDouble():Number
Reads an IEEE 754 double-precision floating-point number from the stream.
Returns| Number— An IEEE 754 double-precision floating-point number from the stream. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readFloat | () | method | 
public function readFloat():Number
Reads an IEEE 754 single-precision floating-point number from the stream.
Returns| Number— An IEEE 754 single-precision floating-point number from the stream. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readInt | () | method | 
public function readInt():int
Reads a signed 32-bit integer from the stream.
The returned value is in the range -2147483648...2147483647.
Returns| int— Value in the range -2147483648...2147483647. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readMultiByte | () | method | 
public function readMultiByte(length:uint, charSet:String):String
Reads a multibyte string of specified length from the byte stream using the specified character set.
Parameters
| length:uint— The number of bytes from the byte stream to read. | |
| charSet:String— The string denoting the character set to use to interpret the bytes. 
     Possible character set strings include"shift_jis","CN-GB","iso-8859-1", and others.
  For a complete list, see Supported Character Sets.
Note: If the value for the  | 
| String— UTF-8 encoded string. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | 
| readObject | () | method | 
public function readObject():*
Reads an object from the socket, encoded in Action Message Format (AMF).
Returns| *— The deserialized object. | 
| EOFError — There is insufficient data available
  to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
See also
| readShort | () | method | 
public function readShort():int
Reads a signed 16-bit integer from the stream.
The returned value is in the range -32768...32767.
Returns| int— Value in the range -32768...32767. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readUnsignedByte | () | method | 
public function readUnsignedByte():uint
Reads an unsigned byte from the stream.
The returned value is in the range 0...255.
Returns| uint— Value in the range 0...255. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readUnsignedInt | () | method | 
public function readUnsignedInt():uint
Reads an unsigned 32-bit integer from the stream.
The returned value is in the range 0...4294967295.
Returns| uint— Value in the range 0...4294967295. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readUnsignedShort | () | method | 
public function readUnsignedShort():uint
Reads an unsigned 16-bit integer from the stream.
The returned value is in the range 0...65535.
Returns| uint— Value in the range 0...65535. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readUTF | () | method | 
public function readUTF():String
Reads a UTF-8 string from the stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes.
Returns| String— A UTF-8 string. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| readUTFBytes | () | method | 
public function readUTFBytes(length:uint):String
  Reads a sequence of length UTF-8
  bytes from the stream, and returns a string.
  
  
Parameters
| length:uint— A sequence of UTF-8 bytes. | 
| String— A UTF-8 string produced by the byte representation of characters of specified length. | 
| EOFError — 
There is insufficient 
  data available to read. If a local SWF file triggers a security warning,
  Flash Player prevents the URLStream data from being available to ActionScript.
  When this happens, thebytesAvailableproperty returns 0 even if data has been
  received, and any of the read methods throws an EOFError exception. | |
| IOError — An I/O error occurred on the stream,
  or the stream is not open. | 
| complete | Event | 
flash.events.Event
flash.events.Event.COMPLETE
Dispatched when data has loaded successfully.
TheEvent.COMPLETE constant defines the value of the type property of a complete event object. 
 
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| target | The network object that has completed loading. | 
|  httpResponseStatus | Event | 
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
 Dispatched if a call to the URLStream.load() method attempts to access data over HTTP 
 and Adobe AIR is able to detect and return the status code for the request. 
 
 
If a URLStream object registers for an httpStatusEvent event, error responses  
 are delivered as though they are content. So instead of dispatching an ioError 
 event, the URLStream dispatches progress and complete events as 
 the error data is loaded into the URLStream.
httpStatus event, the httpResponseStatus event is 
 delivered before any response data. Also, the httpResponseStatus event includes 
 values for the responseHeaders and responseURL properties (which are 
 undefined for an httpStatus event. Note that the httpResponseStatus event
 (if any) will be sent before (and in addition to) any complete or error 
 event. 
 
 The HTTPStatusEvent.HTTP_RESPONSE_STATUS constant defines the value of the 
 type property of a httpResponseStatus event object. 
This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| responseURL | The URL from which the response was returned. | 
| responseHeaders | The response headers that the response returned, as an array of URLRequestHeader objects. | 
| status | The HTTP status code returned by the server. | 
| target | The network object receiving an HTTP status code. | 
See also
| httpStatus | Event | 
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
 Dispatched if a call to URLStream.load() 
 attempts to access data over HTTP, and Flash Player or  or Adobe AIR
 is able to detect and return the status code for the request. (Some browser environments
 may not be able to provide this information.) Note that the httpStatus 
 (if any) will be sent before (and in addition to) any complete
 or error event.
 
 
HTTPStatusEvent.HTTP_STATUS constant defines the value of the 
 type property of a httpStatus event object. 
 
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| status | The HTTP status code returned by the server. | 
| target | The network object receiving an HTTP status code. | 
See also
| ioError | Event | 
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
Dispatched when an input/output error occurs that causes a load operation to fail.
Defines the value of thetype property of an ioError event object.
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| errorID | A reference number associated with the specific error. | 
| target | The network object experiencing the input/output error. | 
| text | Text to be displayed as an error message. | 
See also
| open | Event | 
flash.events.Event
flash.events.Event.OPEN
Dispatched when a load operation starts.
TheEvent.OPEN constant defines the value of the type property of an open event object. 
 
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| target | The network object that has opened a connection. | 
See also
| progress | Event | 
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
Dispatched when data is received as the download operation progresses. Data that has been received can be read immediately using the methods of the URLStream class.
Defines the value of thetype property of a progress event object.
 
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| bytesLoaded | The number of items or bytes loaded at the time the listener processes the event. | 
| bytesTotal | The total number of items or bytes that ultimately will be loaded if the loading process succeeds. | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| target | The object reporting progress. | 
See also
| securityError | Event | 
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
 Dispatched if a call to URLStream.load() 
 attempts to load data from a server outside the security sandbox.
 
 
SecurityErrorEvent.SECURITY_ERROR constant defines the value of the type property of a securityError event object. 
 
 This event has the following properties:
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false; there is no default behavior to cancel. | 
| currentTarget | The object that is actively processing the Event object with an event listener. | 
| target | The network object reporting the security error. | 
| text | Text to be displayed as an error message. | 
See also
To run the example, place a file named URLStreamExample.swf in the same directory as your SWF file.
package {
    import flash.display.Sprite;
    import flash.errors.*;
    import flash.events.*;
    import flash.net.URLRequest;
    import flash.net.URLStream;
    public class URLStreamExample extends Sprite {
        private static const ZLIB_CODE:String = "CWS";
        private var stream:URLStream;
        public function URLStreamExample() {
            stream = new URLStream();
            var request:URLRequest = new URLRequest("URLStreamExample.swf");
            configureListeners(stream);
            try {
                stream.load(request);
            } catch (error:Error) {
                trace("Unable to load requested URL.");
            }
        }
        private function configureListeners(dispatcher:EventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
        }
        private function parseHeader():void {
            trace("parseHeader");
            trace("isCompressed: " + isCompressed());
            trace("version: " + stream.readByte());
        }
        private function isCompressed():Boolean {
            return (stream.readUTFBytes(3) == ZLIB_CODE);
        }
        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
            parseHeader();
        }
        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }
        private function progressHandler(event:Event):void {
            trace("progressHandler: " + event);
        }
        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);
        }
    }
}