簡體   English   中英

Flash AS3使用URLLoader讀取代理服務器響應

[英]Flash AS3 read proxy server response with URLLoader

我正在使用代理服務器在LAN網絡中運行嵌入式閃存“ swf”。 代理服務器中斷一些URL,並返回我的使用情況信息。 我正在嘗試通過發送這些URL來訪問此信息。 我可以在firebug中看到此流量,但是URLLoader似乎沒有讀取它。 完成事件或進度事件均不會觸發。 我也使用計時器嘗試了URLStream,但是availableBytes始終為零。是否可以讀取此信息?

  private var getLoader:URLLoader = new URLLoader();
  private var sendRequest:URLRequest = new URLRequest();
  public function XDomain() {
   sendRequest= new URLRequest("requesturl");
   getLoader.addEventListener(Event.COMPLETE, eventHandler);
   getLoader.addEventListener(ProgressEvent.PROGRESS,eventHandler2);
   getLoader.load(sendRequest);
  }
  private function eventHandler(event:Event):void {
    trace("running");
  }
  private function eventHandler2(event:ProgressEvent):void {
   trace("runninhg progresss");
  }

在此先感謝// 編輯:我遇到了此安全錯誤

[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]

“但是URLLoader似乎沒有讀取它……”

使用URLStream (沒有計時器,cos甚至能達到什么目的?)到達鏈接,並且在相關的progressEvent內部使用readUTFBytes獲取該鏈接的服務器提供的任何文本響應數據。 使用progressEvent還可以檢查任何接收到的字節的大小(該事件會多次觸發,獲取64kb的數據包,直到下載完整的數據)。

關於錯誤#2048:
URLloader是用於可視數據(jpg,png,swf,文本)的解碼器,但對於非文本數據,它希望在您要從其訪問swf的其他服務器上存在crossdomain.xml (雙方還必須具有匹配的相同http或繞過https最佳方法是將字節加載到字節數組中(通過URLStream,但progressEvents現在應寫入您的字節數組),然后再使用URLLoader.loadBytes( yourSWFBytes );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM