Bonjour, avant tout je tiens a préciser que j'ai fait le tour du web , donc j'ai testé tous ce qui a été dit, malgrès cela il m'est impossible de d'accéder a un fichier protéger par u htaccess.
voici mon code:
Code ActionScript :
package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestHeader;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
public class Aero extends Sprite {
//==========================================================
//PUBLIC
public function Aero() {
init();
}//optimisation compilation
//==========================================================
//PRIVATE
private function init():void {
stage.align="TL";
stage.quality="BEST";
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.frameRate=24;
var request:URLRequest=new URLRequest("http://www.aerolyte.fr/test/bd/menu.xml");
var credentials:String=Base64.encode("moi:bleu");
trace(credentials);
var authHeader:URLRequestHeader=new URLRequestHeader("Authorization","Basic "+credentials);
var headers:Array=[];
headers.push(authHeader);
request.requestHeaders=headers;
request.data=new URLVariables("log=aerolyte");//juste pour test
request.method=URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,fin1);
loader.addEventListener(IOErrorEvent.IO_ERROR,ioEr);
loader.load(request);
}
//==========================================================
//EVENT
private function fin1(evt:Event):void{
trace("oki");
}
private function ioEr(evt:IOErrorEvent):void{
trace(evt.target.data);
}
}
}
la sortie:
bW9pOmJsZXU=
Erreur d'ouverture de l'URL 'http://www.aerolyte.fr/test/bd/menu.xml'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>405 Method Not Allowed</TITLE>
</HEAD><BODY>
<H1>Method Not Allowed</H1>
The requested method POST is not allowed for the URL /test/bd/menu.xml.<P>
</BODY></HTML>
maintenant si je passe la méthode en GET, j'obtient:
bW9pOmJsZXU=
Erreur d'ouverture de l'URL 'http://www.aerolyte.fr/test/bd/menu.xml?log=aerolyte'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Error 401 - Unauthorized</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="cache-control" content="no-cache" />
</head>
<body style="font-family:arial;">
<h1 style="color:#0a328c;font-size:1.0em;">Error 401 - Unauthorized</h1>
<p style="font-size:0.8em;">L'accès au fichier requiert une autorisation.</p>
</body>
</html>
Ce que je comprends , c'est qu'il ne supporte pas la méthode POST alors paretout sur le web elle semble etre de rigueur.
Et quand je la passe en GET, il n'applique pas les authorisations, qui sont valide car fonctionne sur une requette manuelle dans la barre d'adresse.
Alors ca fait 3 jours, que je planche dessus, allant meme jusqu'a découvrir que le convertisseur base64-vegas de callista est inexacte, etc...
Jj'ai meme placé un fichier crossdomain , bien que cela ne sert que pour le debug du player version 9.5, mais il n'y a rien a faire.
c'est pour cela que je sollicite les quelques experts présent qui ont déjà été confronté a cette manip.
Cordialement