| 패키지 | flash.net |
| 클래스 | public final class URLRequest |
| 상속 | URLRequest Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
load() 메서드 및 URL 다운로드를 시작하는 기타 로드 작업에 전달됩니다. FileReference 클래스의 upload() 및 download() 메서드에도 전달됩니다.
local-with-filesystem 샌드박스에 있는 SWF 파일은 network 샌드박스에 있는 리소스에서 데이터를 로드하거나 이러한 리소스에 데이터를 제공할 수 없습니다.
기본적으로 호출하는 SWF 파일과 로드하는 URL은 같은 도메인에 있어야 합니다. 예를 들어 www.adobe.com에 있는 SWF 파일은 같은 도메인인 www.adobe.com에 있는 소스에서만 데이터를 로드할 수 있습니다. 다른 도메인에서 데이터를 로드하려면 해당 데이터를 호스팅하는 서버에 URL 정책 파일을 배치합니다.
그러나 Adobe AIR에서 application 보안 샌드박스의 내용(AIR 응용 프로그램과 함께 설치된 내용)에는 이러한 보안 제한 사항이 적용되지 않습니다. application 보안 샌드박스에 있는 파일은 Adobe AIR에서 실행되는 내용에 대해 다음 URL 체계 중 하나를 사용하여 URL에 액세스할 수 있습니다.
http 및 https
file
app-storage
app
Adobe AIR에서 실행되지만 응용 프로그램 보안 샌드박스에 속하지 않는 내용에는 브라우저(Flash Player)에서 실행되는 내용과 동일한 제한 사항이 적용되며 로드는 내용의 도메인과 URL 정책 파일에 부여된 권한에 따라 제어됩니다.
보안과 관련된 자세한 내용은 다음을 참조하십시오.
참고 사항
| 속성 | 다음에 의해 정의됨 | ||
|---|---|---|---|
이 요청에 대한 인증 요청을 처리할지(true) 아니면 처리하지 않을지(false) 여부를 지정합니다. | URLRequest | ||
이 요청에 대해 성공한 응답 데이터를 캐시할지 여부를 지정합니다. | URLRequest | ||
![]() | constructor : Object 지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
| contentType : String data 속성에 있는 내용의 MIME 내용 유형입니다. | URLRequest | ||
| data : Object URL 요청과 함께 전송될 데이터를 포함하는 객체입니다. | URLRequest | ||
| digest : String Flash Player 캐시에 저장(또는 캐시에서 검색)할 서명된 Adobe 플랫폼 구성 요소를 고유하게 식별하는 문자열입니다. | URLRequest | ||
리디렉션을 수행할지(true) 아니면 수행하지 않을지(false) 여부를 지정합니다. | URLRequest | ||
HTTP 프로토콜 스택이 이 요청에 대한 쿠키를 관리할지 여부를 지정합니다. | URLRequest | ||
| method : String HTTP 양식 제출 메서드를 제어합니다. | URLRequest | ||
![]() | prototype : Object [정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다. | Object | |
| requestHeaders : Array HTTP 요청에 추가할 HTTP 요청 헤더의 배열입니다. | URLRequest | ||
| url : String 요청할 URL입니다. | URLRequest | ||
이 URLRequest에서 데이터를 페치하기 전에 로컬 캐시를 참조할지 여부를 지정합니다. | URLRequest | ||
HTTP 요청에 사용할 사용자 에이전트 문자열을 지정합니다. | URLRequest | ||
| 메서드 | 다음에 의해 정의됨 | ||
|---|---|---|---|
URLRequest(url:String = null) URLRequest 객체를 만듭니다. | URLRequest | ||
![]() | 지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() | Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() | 지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() | 루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() | 지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() | 지정된 객체의 프리미티브 값을 반환합니다. | Object | |
| 속성 |
authenticate:Boolean [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
이 요청에 대한 인증 요청을 처리할지(true) 아니면 처리하지 않을지(false) 여부를 지정합니다. false인 경우 인증 문제로 HTTP 오류가 반환됩니다.
지원되는 인증 방법은 다음과 같습니다.
참고: FileReference.upload(), FileReference.download() 및 HTMLLoader.load() 메서드는 URLRequest.authenticate 속성을 지원하지 않습니다.
기본값은 true.
public function get authenticate():Boolean public function set authenticate(value:Boolean):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| 속성 |
cacheResponse:Boolean [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
이 요청에 대해 성공한 응답 데이터를 캐시할지 여부를 지정합니다. true로 설정하면 AIR 응용 프로그램은 운영 체제의 HTTP 캐시를 사용합니다.
참고: HTMLLoader.load() 메서드는 URLRequest.cacheResponse 속성을 지원하지 않습니다.
기본값은 true.
public function get cacheResponse():Boolean public function set cacheResponse(value:Boolean):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| contentType | 속성 |
contentType:String [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
data 속성에 있는 내용의 MIME 내용 유형입니다.
기본값은 application/x-www-form-urlencoded입니다.
참고: FileReference.upload(), FileReference.download() 및 HTMLLoader.load() 메서드는 URLRequest.contentType 속성을 지원하지 않습니다.
POST 요청을 보낼 때 contentType 및 data 속성의 값이 적절하게 대응되어야 합니다. contentType 속성의 값은 data 속성의 값을 해석하는 방법을 서버에게 알려줍니다.
data 속성의 값이 URLVariables 객체인 경우 contentType의 값은 application/x-www-form-urlencoded여야 합니다.
data 속성의 값이 다른 유형인 경우 contentType의 값은 보낼 POST 데이터의 유형(data 속성의 값에 포함되어 있는 이진 또는 문자열 데이터)을 나타내야 합니다.
FileReference.upload()의 경우 요청의 Content-Type이 자동으로 multipart/form-data로 설정되고 contentType 속성의 값이 무시됩니다.
Flash Player 10 이상에서는 multipart Content-Type(예: "multipart/form-data")을 사용하고 POST 본문 내 "content-disposition" 헤더에 "filename" 매개 변수를 지정하여 업로드를 처리하는 경우 POST 작업이 업로드에 적용되는 보안 규칙의 영향을 받을 수 있습니다.
또한 multipart Content-Type의 경우 구문이 RFC2046 표준에 따라 유효해야 합니다. 구문이 유효하지 않은 경우 POST 작업은 업로드에 적용되는 보안 규칙의 영향을 받을 수 있습니다.
public function get contentType():String public function set contentType(value:String):void참고 사항
| data | 속성 |
data:Object [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
URL 요청과 함께 전송될 데이터를 포함하는 객체입니다.
이 속성은 method 속성과 함께 사용됩니다. method의 값이 GET이면 HTTP 쿼리 문자열 구문을 사용하여 data의 값이 URLRequest.url 값에 추가됩니다. method 값이 POST이거나 GET 이외의 값이면 data의 값이 HTTP 요청의 본문을 통해 전송됩니다.
URLRequest API는 문자열뿐 아니라, 이진 POST 데이터 및 URL 인코딩된 변수도 지원합니다. 데이터 객체는 ByteArray, URLVariables 또는 String 객체일 수 있습니다.
데이터의 사용 방법은 다음과 같이 사용하는 객체의 유형에 따라 달라집니다.
POST 데이터로 사용됩니다. GET에는 ByteArray 유형의 데이터가 지원되지 않습니다. 또한 FileReference.upload() 및 FileReference.download()에 대해서도 ByteArray 유형의 데이터가 지원되지 않습니다.
POST인 경우 변수는 x-www-form-urlencoded 형식을 사용하여 인코딩되고 결과 문자열은 POST 데이터로 사용됩니다. 예외적인 경우로 FileReference.upload() 호출 시에는 multipart/form-data 포스트의 개별 필드로 변수가 전송됩니다.
GET인 경우 URLVariables 객체는 URLRequest 객체와 함께 전송될 변수를 정의합니다.
POST 또는 GET 데이터로 사용됩니다.
이 데이터는 navigateToURL() 또는 FileReference.upload() 같은 메서드에서 URLRequest 객체를 사용해야만 전송됩니다.
참고: contentType의 값은 data 속성의 데이터 유형과 일치해야 합니다. contentType 속성의 설명을 참조하십시오.
public function get data():Object public function set data(value:Object):void참고 사항
이 예제에서 중요한 부분은 다음과 같습니다.
request라는 이름의 URLRequest 인스턴스를 만들고, 원격 응용 프로그램의 URL을 매개 변수로 이용합니다.
data 속성에 할당됩니다.
navigateToURL이 새 브라우저 창을 원격 응용 프로그램의 URL로 엽니다.
참고: 이 예제를 실행하려면 예제의 원격 응용 프로그램 URL을 실제 사용 중인 URL로 바꿔야 합니다. 또한 Flash Player에서 URLVariables 객체에 캡처한 정보를 처리하려면 서버 코드가 필요할 수 있습니다.
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 | 속성 |
digest:String [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9.0.115.0 |
Flash Player 캐시에 저장(또는 캐시에서 검색)할 서명된 Adobe 플랫폼 구성 요소를 고유하게 식별하는 문자열입니다. Adobe 플랫폼 구성 요소는 사용자 컴퓨터에 영구적으로 캐시된 SWF 내용을 포함하는 서명된 파일(SWZ 파일)입니다. 모든 SWZ 파일에는 Adobe의 서명이 되어 있습니다. 다이제스트는 캐시된 단일 파일에 해당합니다. 어떠한 방식으로든 해당 파일을 변경하면 다이제스트가 예상치 못한 방식으로 변경됩니다. 다이제스트를 사용하여 여러 도메인의 캐시된 파일을 확인할 수 있습니다. 다이제스트가 동일한 두 파일은 같은 파일이며 다이제스트가 다른 두 파일은 같은 파일이 아닙니다. 다이제스트를 "스푸핑(spoofing)"하고 다른 다이제스트인 것처럼 가장하는 파일은 사실상 만들 수 없습니다.
다이제스트는 SHA-256 메시지 다이제스트 알고리즘(16진수 형식의 64자 문자)을 사용합니다.
예를 들어 Flex SDK는 Flex 프레임워크용 SWZ를 포함하며 SWZ 파일에 대한 다이제스트 문자열을 제공합니다. 이 SWZ를 웹 서버에 게시하고 URLLoader 객체의 load() 메서드를 사용하여 SWF 파일에 로드할 수 있습니다. 최종 사용자의 컴퓨터에 이미 일치하는 SWZ 파일이 캐시되어 있는 경우 응용 프로그램에서 캐시된 SWZ 파일을 사용합니다. SWZ 파일은 해당 digest가 사용자가 제공한 것과 일치하는 경우 일치합니다. 그렇지 않은 경우 응용 프로그램은 사용자가 지정한 URL에서 SWZ 파일을 다운로드합니다.
SWZ 파일을 로드할 때는 URLRequest 객체가 URLLoader.load() 메서드 호출에 사용되는 경우에만 URLRequest 객체의 digest 매개 변수를 설정해야 합니다. URLRequest 객체가 다른 메서드에 사용되는 경우 URLRequest 객체의 digest 속성을 설정하면 응용 프로그램에서 IOError 예외가 발생합니다.
public function get digest():String public function set digest(value:String):voidArgumentError — 제공된 다이제스트가 다운로드한 서명된 파일 또는 캐시에서 로드한 서명된 파일에서 추출된 파일의 다이제스트와 일치하지 않습니다. Flash Player에서는 제공된 다이제스트의 길이가 잘못되었거나 16진수가 아닌 잘못된 문자가 포함된 경우에도 이 오류가 발생합니다. |
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));
}| 속성 |
followRedirects:Boolean [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
리디렉션을 수행할지(true) 아니면 수행하지 않을지(false) 여부를 지정합니다.
참고: FileReference.upload(), FileReference.download() 및 HTMLLoader.load() 메서드는 URLRequest.followRedirects 속성을 지원하지 않습니다.
기본값은 true.
public function get followRedirects():Boolean public function set followRedirects(value:Boolean):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| 속성 |
manageCookies:Boolean [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
HTTP 프로토콜 스택이 이 요청에 대한 쿠키를 관리할지 여부를 지정합니다. true이면 쿠키가 요청에 추가되고 응답 쿠키가 기억됩니다. false이면 쿠키가 요청에 추가되지 않고 응답 쿠키가 기억되지 않지만 사용자가 직접 헤더를 조작하여 쿠키를 관리할 수 있습니다.
Mac OS의 경우 쿠키는 Safari와 공유됩니다. Mac OS에서 쿠키를 지우려면:
Windows에서 쿠키를 지우려면:
기본값은 true.
public function get manageCookies():Boolean public function set manageCookies(value:Boolean):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| method | 속성 |
method:String [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
HTTP 양식 제출 메서드를 제어합니다.
Flash Player(브라우저)에서 실행 중인 SWF 내용의 경우 이 속성은 GET 또는 POST 작업으로 제한되며 유효한 값은 URLRequestMethod.GET 또는 URLRequestMethod.POST입니다.
Adobe AIR에서 실행되는 내용의 경우 내용이 application 보안 샌드박스에 있으면 모든 문자열 값을 사용할 수 있습니다. 그렇지 않으면 Flash Player에서 실행되는 내용과 마찬가지로 GET 또는 POST 작업만 사용할 수 있습니다.
현재 Adobe AIR에서 실행 중인 내용의 경우 navigateToURL() 함수를 사용하면 런타임 중 POST 메서드(해당 method 속성이 URLRequestMethod.POST로 설정된)를 사용하는 URLRequest에서 GET 메서드를 사용하는 것으로 간주합니다.
참고: Flash Player에서 실행 중이고 참조된 양식에 본문이 없는 경우 메서드가 URLRequestMethod.POST로 설정되어 있어도 Flash Player에서는 자동으로 GET 작업을 사용합니다. 따라서 올바른 method가 사용되도록 항상 "모조" 본문을 포함하는 것이 좋습니다.
기본값은 URLRequestMethod.GET.
public function get method():String public function set method(value:String):voidArgumentError —
value 매개 변수가 URLRequestMethod.GET 또는 URLRequestMethod.POST가 아닌 경우입니다.
|
참고 사항
URLRequest.method 속성의 값을 URLRequestMethod.POST로 명시적으로 설정합니다.
이 예제에서 중요한 부분은 다음과 같습니다.
request라는 이름의 URLRequest 인스턴스를 만들고, 원격 응용 프로그램의 URL을 매개 변수로 이용합니다.
data 속성에 할당됩니다.
URLRequest.method 속성의 값이 URLRequestMethod.POST로 설정됩니다.
navigateToURL이 새 브라우저 창을 원격 응용 프로그램의 URL로 엽니다.
참고: 이 예제를 실행하려면 예제의 원격 응용 프로그램 URL을 실제 사용 중인 URL로 바꿔야 합니다. 또한 Flash Player에서 URLVariables 객체에 캡처한 정보를 처리하려면 서버 코드가 필요할 수 있습니다.
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 | 속성 |
requestHeaders:Array [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
HTTP 요청에 추가할 HTTP 요청 헤더의 배열입니다. 이 배열은 URLRequestHeader 객체로 구성됩니다. 배열의 각 객체는 다음과 같이 이름 문자열과 값 문자열을 포함하는 URLRequestHeader 객체여야 합니다.
var rhArray:Array = new Array(new URLRequestHeader("Content-Type", "text/html"));Flash Player 및 AIR 런타임은 요청 헤더에 특정 제한 사항을 적용합니다. 자세한 내용은 URLRequestHeader 클래스 설명을 참조하십시오.
URLRequest 매개 변수를 받는 모든 메서드가 requestHeaders 속성을 지원하지는 않습니다. 자세한 내용은 호출하는 메서드에 대한 설명서를 참조하십시오. 예를 들어 FileReference.upload() 및 FileReference.download() 메서드는 URLRequest.requestHeaders 속성을 지원하지 않습니다.
브라우저의 제한 사항으로 인해 사용자 정의 HTTP 요청은 POST 요청에만 지원되며 GET 요청에는 지원되지 않습니다.
public function get requestHeaders():Array public function set requestHeaders(value:Array):void참고 사항
| url | 속성 |
url:String [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
요청할 URL입니다.
Uniform Resource Locator 사양(http://www.faqs.org/rfcs/rfc1738.html 참조)에 안전하지 않은 것으로 설명된 모든 문자 또는 URLRequest 객체의 URL 스킴에 예약된 모든 문자(예약된 용도로 사용되지 않는 경우)는 인코딩해야 합니다. 예를 들어 "http://www.example.com/orderForm.cfm?item=%23B-3&discount=50%25"에서와 같이 퍼센트 심볼(%)로 "%25", 숫자 기호(#)로 "%23"을 사용합니다.
기본적으로 URL은 호출하는 파일과 같은 도메인에 있어야 하지만 Adobe AIR 응용 프로그램 보안 샌드박스에서 실행되는 내용은 예외입니다. 다른 도메인에서 데이터를 로드하려면 해당 데이터를 호스팅하는 서버에 URL 정책 파일을 배치합니다. 자세한 내용은 URLRequest 클래스의 설명을 참조하십시오.
application 보안 샌드박스에 있는 파일(AIR 응용 프로그램과 함께 설치된 파일)은 Adobe AIR에서 실행되는 내용에 대해 다음 URL 체계 중 하나를 사용하여 URL에 액세스할 수 있습니다.
http 및 https
file
app-storage
app
참고: IPv6(인터넷 프로토콜 버전 6)은 AIR 및 Flash Player 9.0.115.0 이후 버전에서 지원됩니다. IPv6은 128비트 주소를 지원하는 인터넷 프로토콜입니다(이전에 32비트 주소 체계를 지원하는 IPv4를 개선한 새 버전). 네트워크 인터페이스에서 IPv6를 활성화시켜야 합니다. 자세한 내용은 데이터를 호스팅하는 운영 체제의 도움말을 참조하십시오. 호스팅 시스템에서 IPv6를 지원하는 경우 다음과 같이 대괄호([])로 묶은 URL에 숫자 IPv6 리터럴 주소를 지정할 수 있습니다.
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
public function get url():String public function set url(value:String):void참고 사항
| 속성 |
useCache:Boolean [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
이 URLRequest에서 데이터를 페치하기 전에 로컬 캐시를 참조할지 여부를 지정합니다.
참고: HTMLLoader.load() 메서드는 URLRequest.useCache 속성을 지원하지 않습니다.
기본값은 true.
public function get useCache():Boolean public function set useCache(value:Boolean):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| 속성 |
userAgent:String [읽기/쓰기] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
HTTP 요청에 사용할 사용자 에이전트 문자열을 지정합니다.
기본값은 Flash Player에서 사용되는 것과 동일한 사용자 에이전트 문자열이며 이는 Mac, Linux 및 Windows에서와 다릅니다.
참고: URLRequest 객체를 HTMLLoader 객체의 load() 메서드와 함께 사용하면 이 속성이 사용자 에이전트 문자열에 영향을 주지 않습니다. HTMLLoader 객체의 사용자 에이전트 문자열을 설정하려면 HTMLLoader 객체의 userAgent 속성을 설정하거나 정적 URLRequestDefaults.userAgent 속성을 설정합니다.
public function get userAgent():String public function set userAgent(value:String):voidSecurityError — 호출자가 AIR application 보안 샌드박스에 없습니다. |
참고 사항
| URLRequest | () | 생성자 |
public function URLRequest(url:String = null)| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 Flash Player 9 |
URLRequest 객체를 만듭니다. System.useCodePage가 true인 경우 해당 요청은 유니코드가 아닌 시스템 코드 페이지를 사용하여 인코딩됩니다. System.useCodePage가 false인 경우 해당 요청은 시스템 코드 페이지가 아닌 유니코드를 사용하여 인코딩됩니다.
url:String (default = null) —
요청할 URL입니다. url 속성을 사용하여 이후에 URL을 설정할 수 있습니다.
|
참고 사항
complete 이벤트가 전달되고 XML 파일의 데이터가 출력으로 보내집니다. 추가 이벤트 핸들러에서 오류 이벤트를 포함하여 기타 이벤트를 캡처합니다.
이 예제를 실행하려면 XMLFile.xml이라는 이름의 파일을 사용자의 SWF 파일과 동일한 디렉토리에 넣습니다.
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);
}
}
}