2013-08-05 2 views
0

그래서 나는 생각할 수있는 모든 방법을 시도해 보았습니다. 온라인 모드에서 테스트 할 때 오프라인 모드에서 테스트하거나 보안 샌드 박스 오류가 발생하면 404 상태를 얻습니다. 나는 shoutcast 페이지에서 통계에 빠르게 액세스 할 수있는 7.html을 사용하여 데이터를 가져 오려고 시도하고 있습니다. 내가 테스트하고있는 페이지는 http://37.58.52.41/7.htmlActionscript 3에서 html 파일을로드 할 수 없습니다.

참고 : netstream 메서드를 사용하여 shoutcast 데이터를 가져 오려고 시도했지만 실패했습니다.

+0

내가 볼 수있는 것은 37.58.52.41에 crossdomain.xml이 없습니다. 교차 도메인이 없으면이 서버에서 직접 파일을 다운로드 할 수 없습니다. – Aralicia

답변

0

아마 다음과 같은 코드가 도움이 될 것입니다 :

<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> 
    <mx:Script> 
     <![CDATA[ 
      private function init():void{ 
       var loader:URLLoader = new URLLoader(); 
       loader.addEventListener(Event.COMPLETE, urlloaderCallback); 
       var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache"); 
       var request:URLRequest = new URLRequest("http://37.58.52.41/7.html"); 
       request.requestHeaders.push(header); 
       loader.load(request); 
      } 
      public function urlloaderCallback(event:Event):void{ 
       //<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>531,1,893,1000,528,192,We aRe oNe</body></html> 
       var get:String = event.currentTarget.data; 
      } 
     ]]> 
    </mx:Script> 
</mx:Application> 

이 코드는 완벽하게 작동 public function urlloaderCallback 아래의 코멘트를 확인하십시오 URLLOAD 호출에 의해 반환 된 HTML이있다.

0

@Aralicia가 지적했듯이, 서버에 crossdomain policy이 있어야 Flash에서 정보를 가져올 수 있습니다.

크로스 도메인 정책 파일은 어도비 플래시 플레이어 나 (반드시 이들에 국한되지 있지만) 어도비 아크로뱃과 같은 웹 클라이언트를 부여하는 XML 문서 도메인에서 데이터를 처리 할 수있는 권한이 있습니다. 클라이언트가 특정 원본 도메인에서 호스팅되는 콘텐츠를 요청하고 해당 콘텐츠가 자신의 도메인이 아닌 다른 도메인을 향한 요청을하면 원격 도메인은 원본 도메인에 대한 액세스를 허용하는 도메인 간 정책 파일을 호스트해야하므로 클라이언트가 트랜잭션.

관련 문제