包 | flash.media |
类 | public class AVURLStream |
继承 | AVURLStream URLStream EventDispatcher Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在 URLStream 中的读取操作是非阻塞模式的。这意味着您在读取数据之前必须使用 bytesAvailable
属性来确定是否能够获得足够的数据。如果不能获得足够的数据,将引发 EOFError
异常。
在默认情况下,所有二进制数据都是以 Big-endian 格式编码的,并且最高位字节于第一位。
适用于通过 URLStream 类进行 URL 下载的安全规则与适用于 URLLoader 对象的规则相同。如有需要也可以下载策略文件。将强制执行本地文件安全规则,并根据需要发出安全警告。
相关 API 元素
URLRequest
属性 | 由以下参数定义 | ||
---|---|---|---|
bytesAvailable : uint [只读]
返回可在输入缓冲区中读取的数据的字节数。 | URLStream | ||
connected : Boolean [只读]
表示此 URLStream 对象目前是否已连接。 | URLStream | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
cookieHeader : String [只写] | AVURLStream | ||
endian : String
表示数据的字节顺序。 | URLStream | ||
objectEncoding : uint
在写入或读取对象时,控制所使用的 Action Message Format (AMF) 的版本。 | URLStream |
方法 | 由以下参数定义 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
立即关闭该流并取消下载操作。 | URLStream | ||
将事件调度到事件流中。 | EventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
[覆盖]
开始下载 request 参数中指定的 URL。 | AVURLStream | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从该流读取一个布尔值。 | URLStream | ||
从该流读取一个带符号字节。 | URLStream | ||
从该流读取 length 字节的数据。 | URLStream | ||
从该流读取一个 IEEE 754 双精度浮点数。 | URLStream | ||
从该流读取一个 IEEE 754 单精度浮点数。 | URLStream | ||
从该流读取一个带符号的 32 位整数。 | URLStream | ||
使用指定的字符集从字节流中读取指定长度的多字节字符串。 | URLStream | ||
readObject():*
从以 Action Message Format (AMF) 编码的套接字读取一个对象。 | URLStream | ||
从该流读取一个带符号的 16 位整数。 | URLStream | ||
从该流读取一个无符号字节。 | URLStream | ||
从该流读取一个无符号的 32 位整数。 | URLStream | ||
从该流读取一个无符号的 16 位整数。 | URLStream | ||
从该流读取一个 UTF-8 字符串。 | URLStream | ||
从该流读取长度为 length 的 UTF-8 字节序列,并返回一个字符串。 | URLStream | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
cookieHeader | 属性 |
load | () | 方法 |
override public function load(request:URLRequest):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
开始下载 request
参数中指定的 URL。
注意:如果要加载的文件包含非 ASCII 字符(在许多非英语的语言中出现),则建议使用 UTF-8 或 UTF-16 编码(而不是 ASCII 等非 Unicode 格式)来保存文件。
如果加载操作很快失败,将引发描述失败情况的 IOError 或 SecurityError(包括本地文件安全错误)异常。否则,如果 URL 下载开始成功下载,将调度 open
事件;如果发生错误,将调度错误事件。
默认情况下,执行调用的 SWF 文件和加载的 URL 必须在同一域中。例如,位于 www.adobe.com 的 SWF 文件只能从同样位于 www.adobe.com 的源中加载数据。要从不同的域中加载数据,请在承载数据的服务器上放置一个 URL 策略文件。
在 Flash Player 中,无法连接到常用的保留端口。有关已阻止的端口的完整列表,请参阅《ActionScript 3.0 开发人员指南》中的“限制网络 API”。
在 Flash Player 中,可以通过在包含 SWF 内容的 HTML 页中设置 object
和 embed
标签的 allowNetworking
参数来禁止 SWF 文件使用此方法。
在 Flash Player 10 和更高版本中以及在 AIR 1.5 和更高版本中,如果使用包含上载(由 POST 正文内“content-disposition”标头中的“filename”参数所指)的 multipart Content-Type(例如“multipart/form-data”),则 POST 操作受应用于上载的安全规则的约束:
- 必须执行 POST 操作以响应用户启动的操作(如鼠标单击或按键)。
- 如果 POST 操作是跨域的(POST 目标与发送 POST 请求的 SWF 文件不在同一台服务器上),则目标服务器必须提供一个允许跨域访问的 URL 策略文件。
另外,对于任何 multipart Content-Type,语法必须有效(根据 RFC2046 标准)。如果语法无效,则 POST 操作受应用于上载的安全规则约束。
这些规则同样适用于非应用程序沙箱中的 AIR 内容。但在 Adobe AIR 中,应用程序沙箱中的内容(随 AIR 应用程序安装的内容)不受这些安全限制的约束。
有关安全性的详细信息,请参阅 Flash Player 开发人员中心主题:安全性。
在 AIR 中,URLRequest 对象可以注册 httpResponse
状态事件。与 httpStatus
事件不同,httpResponseStatus
事件在传送任何响应数据之前传送。此外,httpResponseStatus
事件还包括 responseHeaders
和 responseURL
属性的值(对于 httpStatus
,这些属性未定义)。请注意,在发送任何 complete
或 error
事件之前还将发送 httpResponseStatus
(如果有)。
如果有 httpResponseStatus
事件侦听器,则始终 将发送响应消息的正文;而 HTTP 状态代码响应始终将产生 complete
事件。无论 HTTP 响应状态代码表示成功还是错误,这种情况都适用。
在 AIR 中,如果没有 httpResponseStatus
事件侦听器,则行为因 SWF 版本而异:
- 对于 SWF 9 内容,只有 在 HTTP 响应状态代码指示成功时才会发送 HTTP 响应消息的正文。否则(如果有错误),将不发送正文,且 URLRequest 对象将调度一个 IOError 事件。
- 对于 SWF 10 内容,将始终 发送 HTTP 响应消息的正文。如果有错误,则 URLRequest 对象将调度一个 IOError 事件。
参数
request:URLRequest — 一个 URLRequest 对象,指定要下载的 URL。如果此参数的值或所传递的 URLRequest 对象的 URLRequest.url 属性为 null ,则应用程序会引发空指针错误。
|
事件
complete: — 在成功加载数据后调度。如果有 httpResponseStatus 事件侦听器,则 URLRequest 对象还会调度一个 complete 事件,无论 HTTP 响应状态代码指示成功还是错误。
| |
httpStatus: — 如果通过 HTTP 进行访问,并且当前环境支持获取状态代码,则除了 complete 或 error 事件之外,还可以接收这些事件。
| |
httpResponseStatus: — 在对 load() 方法的调用试图通过 HTTP 访问数据,并且 Adobe AIR 可以检测并返回请求的状态代码时调度。
| |
ioError: — 无法完成加载操作。
| |
open: — 在加载操作开始时调度。
| |
securityError: — 加载操作尝试从调用方安全沙箱外部的服务器检索数据。可以通过在服务器上使用策略文件来解决此问题。
|
引发
ArgumentError — URLRequest.requestHeader 对象不能包含某些被禁用的 HTTP 请求标头。有关详细信息,请参阅 URLRequestHeader 类的描述。
| |
MemoryError — 此错误可能由以下原因引起:
| |
SecurityError — 本地不受信任的 SWF 文件可能无法与 Internet 进行通信。可通过将此 SWF 文件重新分类为只能与远程内容交互或受信任来解决此问题。
| |
SecurityError — 正在尝试连接到常用的保留端口。有关已阻止的端口的完整列表,请参阅《ActionScript 3.0 开发人员指南》中的“限制网络 API”。
|
Tue Jun 12 2018, 11:04 AM Z