Aller au contenu

Erreur :d


Facel

Messages recommandés

Bonjour

J'ai une erreur " desolé la page web que vous recherches est introuvable"

cette erreur intervient après que j'execute la requette http suivante dans mon navigateur

http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806

sachant que j'ai redirigé la requette www.wunderground.com vers le synology (ça ca marche)

et que j'ai mis dans un fichier index.php dans le dossier web du synology le cript suivant qui est chargé d'ajouter des parametres à ma requete.

<?php

$param = $_GET["query"];
if ($param == "28806") {
        $jsonData = json_decode(file_get_contents('http://38.102.136.104/auto/nestlabs/geo/current/i?query=LETO'), true);
        $data = $jsonData["LETO"];
        $data["location"]["city"] = "Alcala";
        $data["location"]["state"] = "Madrid";
        $data["location"]["zip"] = "28806";
        $data["location"]["country"] = "US";
        $data["location"]["timezone"] = "EDT";
        $data["current"]["timezone"] = "EDT";
        $jsonData = array("28806"=>$data);
} else {
        $jsonData = json_decode(file_get_contents('http://38.102.136.104/auto/nestlabs/geo/current/i?query=' . $param));
}
header('Content-Type: application/json');
print stripslashes(json_encode($jsonData));

?>

d'ou vient cette erreur et comment corriger cela ?

merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Du contenu (données météo) au format JSON.

Ok . si ces données concernent une ville espagnole => c'est donc qu'il y a bien un pb chez moi !!

C'est surement un truc que j'ai pas initialisé ou parametré (je previens je suis Newbee complet)

ça progresse un peu car maintenant j'ai une page qui q'affiche avec

<{"error":{"location":"invalid"}}

est ce que cela ne serait pas lié à une histoire d'estension .php alors que le site www.wunderground ne doit pas avoir d'extension ?

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

idem, j'ai bien des données au format JSON lorsque je consulte la page :


{
  "28806": {
  "location":{
  "station_id":"KNCASHEV24",
  "zip":"28806",
  "city":"Asheville",
  "state":"NC",
  "country":"US",
  "lat":"35.58071518",
  "lon":"-82.60778809",
  "short_name":"Asheville,NC",
  "timezone":"EST",
  "timezone_long":"America/New_York",
  "gmt_offset":"-5.00",
  "full_name":"Asheville,NC 28806 US"},
  "current": {
  "temp_f":26.6,
  "temp_c":-3.0,
  "condition":"Clear",
  "sunrise":1355920517,
  "sunset":1355955624,
  "lengthofday":585,
  "humidity":89,
  "timezone":"EST",
  "gmt_offset":"-5.00",
  "wind_dir":"NE",
  "wind_mph":0.7,
  "wind_kph":1.1,
  "observation_time":1355906368,
  "icon":"clear"
  },

EDIT : texte supprimé car trop long

Modifié par psuken
Lien vers le commentaire
Partager sur d’autres sites

Ben non ca n'est pas le bon fichier qui a été retourné !

le script php est suposé modifier les parametres de la requete url à savoir

sans le script le fichier retourné concerne la ville d'Asheville (Caroline du Nord) aux US (dont le code postal est 28806)

avce le script le fichier retourné doit concerner la ville de Torrejon en Espagne

j'ai mis les premières lignes du bon fichier qui doit etre retourné à la fin de ce post

Lorque le script fonctionne les 2 requetes suivantes doivent toutes les deux retourner un fichier dont les parametres sont la ville espagnole de Torrejon

http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806
http://38.102.136.104/auto/nestlabs/geo/current/i?query=LETO


{
"LETO": {
"location":{
"city":"Torrejon",
"state":"",
"country":"SP",
"lat":"40.48666763",
"lon":"-3.45805502",
"short_name":"Torrejon,",
"timezone":"CET",
"timezone_long":"Europe/Madrid",
"gmt_offset":"1.00",
"full_name":"Torrejon, 00000 EU"},
"current": {
"temp_f":46.4,
"temp_c":8.0,
"condition":"Scattered Clouds",
"sunrise":1355902364,
"sunset":1355935772,
"lengthofday":556,
"humidity":99,
"timezone":"CET",
"gmt_offset":"1.00",
"wind_dir":"East",
"wind_mph":0.0,
"wind_kph":0.0,
"observation_epoch":"1355918400",
"icon":"mostlysunny" },
"forecast": {
"daily":[ {
"temp_low_f":46,
"temp_low_c":8,

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

C'est normal que j'ai les données d'Asheville puisque ma requête vers http://www.wundergro...t/i?query=28806 n'est pas redirigée vers ton Syno ^^

La requête sur l'IP donne les bonnes données.

Question, si tu ne réécris pas le tableau ['LETO'] à la volée, est-ce que tu as bien le résultat de ta requête (28806 modifié en LETO) ?

Lien vers le commentaire
Partager sur d’autres sites

C'est normal que j'ai les données d'Asheville puisque ma requête vers http://www.wundergro...t/i?query=28806 n'est pas redirigée vers ton Syno ^^

La requête sur l'IP donne les bonnes données.

Question, si tu ne réécris pas le tableau ['LETO'] à la volée, est-ce que tu as bien le résultat de ta requête (28806 modifié en LETO) ?

ben c'est le cript php qui est censé réecrire le tableau LETO

Si je lance la requete http://www.wundergro...t/i?query=28806 c'est la ou j'obtiens des erreurs :page..introuvable

ou alors après plusieurs tentatives j'ai aussi eu un fichier i qui contenait :

{

"error": {

"location":"invalid"

}

}

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

Je redirige l'Url www.wunderground.com sur mon synology.

Lorsque je met un fichier index.html dans mon dossier web il me l'ouvre en rentrant www.wunderground.com dans mon navigateur

Lorsque je remplace le fichier index.html par un fichier index.php dans mon dossier web

{

"error": {
"location":"invalid"
}
}

soit un message d'erreur page introuvable

donc je n'ai pas le resultat de la requete 28806 (je ne sais pas si cela repond à ta question ?)

j'ai l'impression que le script php n'est pas executé ou qu'il y a une erreur de syntaxe ou un parametre manquant ou mal transmis

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

page introuvable n'est pas lié à ton code PHP mais (à mon avis) à la redirection qui est faite vers le Syno. Il doit chercher à atteindre auto/nestlabs/geo/current/ sur ton NAS et ne pas le trouver...

pour le message "location":"invalid", il faudrait savoir quelle est la requête faite par ton script PHP (car elle ne semble pas correcte puisque le site de destination ne sait pas l'interpeter).

Lien vers le commentaire
Partager sur d’autres sites

Ok pour la page introuvable je vais chercher lorsque cela se produit.

Concernant le message location invalid ... mon script php est copié integralement dans mon premier post

ce script est supposé changer la requete url d'origine http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806

par la requete http://38.102.136.104/auto/nestlabs/geo/current/i?query=LETO

Lien vers le commentaire
Partager sur d’autres sites

yes, mais si tu consultes le site d'origine sans sonner de valeur à query ou que tu lui donne une valeur qu'il ne connait pas, tu reçois ce message là.

donc pour savoir ce qu'il se passe il faut connaitre la requête faite sur http://38.102.136.10

un simple echo suffit.

Modifié par psuken
Lien vers le commentaire
Partager sur d’autres sites

Bon ça y est je suis de retour pour tester

Je n'arrive pas à connaitre la requete faite sur http:38.102.136.10

Je pense que mon script ne s’exécute pas du tout

- j'ai à la racine de mon dossier Web 3 fichiers

.htaccess

index.php

missing.php

si j'execute la requete http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806 dans mon navigateur

il m'affiche

toto _Missing {"error":{"location":"invalid"}}

sachant que j'ai inclus une ligne echo 'toto Missing" dans le fichier missing.php pour tracer l'execution

si j'execute la requete http://www.wunderground.com dans mon navigateur il m'affiche

< toto_Index {"error":{"location":"invalid"}}

dans ce cas la je suis bien dans mon script php mai j'ai un pb de parametre

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Je n'ai pas encore pu faire ton test mais je pense que tu as raison il manque soit une référence à index soit une référence à .php

soit les deux.

Je viens également de tester (en dehors de mon réseau local) on obtient toujours les données météo de la ville d'Ascheville

en substituant à i?

i.php?

index?

index.php

donc au final on peut ecrire la requete comme on veux mais encore faut il qu'elle s’exécute correctement

Dans l’éventualité ou l'absence de .php sur la requête initiale serait considéré par le synology comme une erreur, y a t il un fichier de conf de gestion des erreur ou on pourrait détourner l'erreur en ajoutant le .php afin que le script s’exécute ?

Lien vers le commentaire
Partager sur d’autres sites

Je ne pense pas que ce soit lié à ça mais si c'est le cas il faudra te tourner vers l'URL Rewriting.

en fait si tu ne précises pas de page (ex http://serveur/?query=123 ) apache enverra automatiquement la requête au fichier index.php (sauf s'il y a un url rewriting qui lui dit de faire autrement).

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir

Merci pour ton analyse Padawan cela m'aide à avancer

en fait pour exécuter le script php il faut impérativement insérer /index.php/ après le .com

si je lance la requete http://www.wunderground.com/index.php?query=28806

mon script s’exécute correctement (ah ça fait du bien)

http://www.wunderground.com/index.php/auto/nestlabs/geo/current/i?query=28806/

fonctionne également correctement

bon y a plus qu'a trouve comment inserer index.php dans la requete initiale

http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806

a moins qu'il y ait une autre solution ??

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

bon y a plus qu'a trouve comment inserer index.php dans la requete initiale

http://www.wunderground.com/auto/nestlabs/geo/current/i?query=28806

a moins qu'il y ait une autre solution ??

Avec quoi envoies tu la requête initiale ? Peux-tu la modifier ? Si la réponse est non il te faudra faire un peu d'URL Rewriting dans un .htaccess afin de dire à apache que quand on lui demande "i" il doit servir index.php.

Lien vers le commentaire
Partager sur d’autres sites

désolé mais ma réponse est restée dans le bac ...

Non je ne peux pas modifier la requête initiale => il faut donc passer par l'url rewriting

si quelqu'un parle couramment l' "url rewriting" et peut me dire si j'ai bon avec ça ?

RewriteEngine On

RewriteRule ^.com/auto/nestlabs$ .com/index.php/auto/nestlabs

bon ben j'ai mise ces 2 lignes dans mon fichier .htaccess et ça ne marche pas !!!

Modifié par Facel
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Bon avec les fetes j'ai pas trop pu avancer ... néanmoins mon urlrewriting c’est pas ça du tout et celle de Padawan légèrement mieux car apache m'a parlé

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.2.16 (Unix) PHP/5.3.3 Server at www.wunderground.com Port 80




L'Url rewriting qui marche ressemble à ça:



				
RewriteEngine on
RewriteRule ^auto/nestlabs/geo/current/i$ index.php [L]

yahoooooo (ou Goooooogleeee c'est selon ses afinités) ça maaaaaaaarche !!

Il ne me reste plus qu'a insérer un test au debut de mon script php pour savoir si la variable i?query existe.

(En effet lorsque la requette url est juste www.wunderground.com mon script plante)

$param = $_GET["query"];

$adresse=$_SERVER['REQUEST_URI'];
If ($param == "") {
=> ouvrir l'url $_SERVER['REQUEST_URI']; et arrêter l’exécution du script
//} else {
=> poursuivre l’exécution du script

ça y est presque ....

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.