패키지 | 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
객체를 쓰거나 읽을 때 사용되는 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 | ||
[재정의]
요청 매개 변수에 정의된 URL을 다운로드하기 시작합니다. | AVURLStream | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
스트림에서 부울 값을 읽습니다. | URLStream | ||
스트림에서 부호 있는 바이트를 읽습니다. | URLStream | ||
스트림에서 길이 바이트의 데이터를 읽습니다. | URLStream | ||
스트림에서 IEEE 754 배정밀도 부동 소수점 숫자를 읽습니다. | URLStream | ||
스트림에서 IEEE 754 단정밀도 부동 소수점 숫자를 읽습니다. | URLStream | ||
스트림에서 부호 있는 32비트 정수를 읽습니다. | URLStream | ||
지정된 문자 세트를 사용하여 바이트 스트림에서 지정된 길이의 멀티바이트 문자열을 읽습니다. | URLStream | ||
readObject():*
소켓에서 AMF로 인코딩된 객체를 읽습니다. | URLStream | ||
스트림에서 부호 있는 16비트 정수를 읽습니다. | URLStream | ||
스트림에서 부호 없는 바이트를 읽습니다. | URLStream | ||
스트림에서 부호 없는 32비트 정수를 읽습니다. | URLStream | ||
스트림에서 부호 없는 16비트 정수를 읽습니다. | URLStream | ||
스트림으로부터 UTF-8 문자열을 읽습니다. | URLStream | ||
스트림에서 길이 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는 유니코드 형식이 아닙니다.
로드 작업 시작 즉시 실패할 경우 실패를 알리는 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 이상 버전에서는 multipart Content-Type(예: "multipart/form-data")을 사용하고 POST 본문 내 "content-disposition" 헤더에 "filename" 매개 변수를 지정하여 업로드를 처리하는 경우 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
이벤트에 대해 정의되어 있지 않음) 값이 포함되어 있습니다. httpResponseStatus
이벤트(있는 경우)는 complete
또는 error
이벤트 발생 전에 추가로 전송됩니다.
httpResponseStatus
이벤트 리스너가 있는 경우 응답 메시지의 본문이 항상 전달됩니다. 또한 HTTP 상태 코드에서 응답하면 항상 complete
이벤트가 발생합니다. 이는 HTTP 응답 상태 코드가 성공하거나 오류이거나에 관계없이 항상 적용됩니다.
AIR에서 만약 httpResponseStatus
이벤트 리스너가 없으면 SWF 버전에 따라 동작이 달라집니다.
- SWF 9 내용의 경우, HTTP 응답 상태 코드에서 성공을 나타내는 경우에만 HTTP 응답 메시지의 본문이 전달됩니다. 그렇지 않고 오류가 발생하면 본문이 전달되지 않고 URLRequest 객체가 IOError 이벤트를 전달합니다.
- SWF 10 내용의 경우, HTTP 응답 메시지의 본문이 항상 전달됩니다. 오류가 발생한 경우에는 URLRequest 객체에서 IOError 이벤트를 전달합니다.
매개 변수
request:URLRequest — 다운로드할 URL을 지정하는 URLRequest 객체입니다. 이 매개 변수의 값 또는 전달된 URLRequest 객체의 URLRequest.url 속성의 값이 null 인 경우 응용 프로그램에서 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 파일은 인터넷 통신이 불가능합니다. 이 SWF 파일을 네트워킹 가능한 로컬 파일(local-with-networking) 또는 신뢰할 수 있는 파일로 다시 규정하면 이 오류를 해결할 수 있습니다.
| |
SecurityError — 일반적으로 예약된 포트에 연결하려는 중입니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
|
Tue Jun 12 2018, 03:17 PM Z