J'ai l'impression que cet exemple de la livraison ne fonctionne toujours pas.
Le problème est peut-être du côté du proxy que j'ai mis sur free.fr.
J'ai l'impression que cet exemple de la livraison ne fonctionne toujours pas.
Le problème est peut-être du côté du proxy que j'ai mis sur free.fr.
Effectivement, c'est étrange
Le code de la page a laissé @flashvars@ qui implique l'utilisation des paramètres par défaut : le proxy utilisé est alors celui d'openscales.org/proxy.php qui semble ne pas fonctionner ...
Je contacte le projet openscales pour creuser.
Je viens de corriger mon script qui met en place les exemples:
mais j'ai toujours le même comportement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $lignes =~ s{\@flashvars\@}{key=1731453248655229623&}g;
La page n'est pas forcée en utf-8 ce qui peut poser problème ...
Exact, il y a bien le tag. Mais j'ai l'impression que FF se loupe et reste avec son auto-détection.
J'ai passé la page sur http://validator.w3.org et elle comporte de nombreuses erreurs, dont sur les lignes commentaires ....
Congratulations
The document located at <http://localhost/api1.0beta5/test/geoportalFxMap_minimum.html> was successfully checked as XHTML 1.0 Transitional. This means that the resource in question identified itself as "XHTML 1.0 Transitional" and that we successfully performed a formal validation using an SGML, HTML5 and/or XML Parser(s) (depending on the markup language used).
Peux-tu essayer quelque chose comme ceci (proxyBugFF.php) ?
Il est brut de pomme, il pourrait être "optimiser" en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?php // Get the REST call path from the AJAX application // Is it a POST or a GET? $url = ($_POST['url']) ? $_POST['url'] : $_GET['url']; $mimeType =($_GET['FORMAT']) ? $_GET['FORMAT'] : 'text/xml'; // Open the Curl session $session = curl_init($url); // If it's a POST, put the POST data in the body if ($_POST['url']) { $postvars = ''; while ($element = current($_POST)) { $postvars .= key($_POST).'='.$element.'&'; next($_POST); } curl_setopt ($session, CURLOPT_POST, true); curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars); } // Don't return HTTP headers. Do return the contents of the call curl_setopt($session, CURLOPT_HEADER, false); curl_setopt($session, CURLOPT_REFERER, 'le referrer que tu as mis dans ton contrat'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // Make the call $response = curl_exec($session); // The web service returns XML. Set the Content-Type appropriately header('Content-Type: '.$mimetype); if (curl_errno($session)) { echo curl_error($session); } else { echo $response; curl_close($session); } ?>
* si le REFERRER existe, juste une redirection vers l'URL passée suffit;
* il utilise curl ...
Puis, dans ta substitution de @flashvars@, tu fais :
Je travaille avec les développeurs Openscales pour se passer de ce proxy qui ne sert qu'à contourner le boggue Firefox qui existe depuis des lustres et toujours pas corrigé ; l'idée est de faire que du POST qui n'est pas touché par ce boggue
Code : Sélectionner tout - Visualiser dans une fenêtre à part $lignes =~ s{\@flashvars\@}{proxy=URLduNouveauProxy&key=1731453248655229623&}g;![]()
J'ai mis en place le proxy.
J'ai fait la modif dans la page.
C'est pas terrible!
J'ai donc essayé de faire marcher:
- pour le proxy, j'ai commenté la ligne- pour la page
Code : Sélectionner tout - Visualiser dans une fenêtre à part // curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
Cela passe localement, mais j'ai un 403 du Tomcat/5.5 distant
Code : Sélectionner tout - Visualiser dans une fenêtre à part <param name="flashvars" value="proxy=/geoportail/proxyBugFF.php?url=&key=1731453248655229623&"/>
T'as pas fait les modifs là que je vois le problème ?
Je viens de copier ma version locale sur le serveur free.
En local, voici la trace via wireshark
GET /geoportail/wmsc?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS=IGNF:GEOPORTALFXX&BBOX=524288,4718592,1048576,5242880&FORMAT=image/jpeg&EXCEPTIONS=text/xml&LAYERS=ORTHOIMAGERY.ORTHOPHOTOS&WIDTH=256&HEIGHT=256&TILED=true&TRANSPARENT=FALSE HTTP/1.1
Host: wxs.ign.fr
Accept: */*
Referer: http://atlasnw.free.fr
HTTP/1.1 403 Interdit
Date: Wed, 03 Mar 2010 18:16:35 GMT
Server: Apache
Geodrm: 1
Content-Length: 958
Content-Type: text/html;charset=utf-8
<html><head><title>Apache Tomcat/5.5 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 403 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>Access to the specified resource () has been forbidden.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5</h3></body></html>
Tout d'abord, un bug que j'ai rapporté à OPENSCALEs est que les requêtes vers les WMS-C partent alors que la GeoRM n'a pas encore donnée le jeton (les premières requêtes échouent donc normalement, l'absence du paramètre gppkey atteste cela).
Ensuite, les requête vers la GeoRM échouent aussi ... et cà c'est pas normal ...
La requête envoyée au proxy est :
qui est bonne, par contre la réponse est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 http://jeton-api.ign.fr/getToken?key=1731453248655229623&output=xml&random=0.1402981854043901
qui est une page Free (avec les fautes d'orthographes ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Nous avons détécté que votre adresse IP ouvrait trop de connexions vers notre serveur web. Nous vous rappelons que ces pratiques sont strictement inutile et n'ont pour unique conséquence de ralentir les serveurs.
Donc, les jetons ne sont pas délivrés et donc, pas d'affichage
Tu as écrit que cà fonctionne en local. Donc, le problème n'est pas la redirection, mais le service Free ; voir là !
Quand je dis que cela fonctionne en local, c'est uniquement que je n'ai plus d'erreur sur le proxy et que les url semblent correctes.
L'affichage n'est toujours pas bon.
Tu peux mettre la trace de la première requête à http://jeton-api.ign.fr/ en local ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 GET /getToken?key=1731453248655229623&output=xml&random=0.5101485145278275 HTTP/1.1 Host: jeton-api.ign.fr Accept: */* Referer: http://atlasnw.free.fr HTTP/1.1 403 Interdit Date: Thu, 04 Mar 2010 17:50:34 GMT Server: Apache Content-Length: 958 Content-Type: text/html;charset=utf-8 <html><head><title>Apache Tomcat/5.5 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 403 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>Access to the specified resource () has been forbidden.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5</h3></body></html>
Petit doute, tu peux ajouter un '/' à ton REFERRER![]()
Didier!
Effectivement avec un / à la fin, j'ai un affichage en local.
Par contre sur free, cela ne fonctionne pas.
A priori le support de curl est disponible:
CURL support enabled
CURL Information libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1
Je vais creuser de ce côté pour voir les réponses du proxy.
...
L'interrogation de l'url http://atlasnw.free.fr/geoportail/pr.../www.google.fr donne la réponse
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager