Bonjour à tous !
Voilà mon problème : je dois pouvoir chercher une chaîne de caractères dans une page.
J'ai donc testé ce code :
Il marche très bien, pour un site externe. Seulement, j'aimerais chercher la chaîne de caractère "Toner restant" sur une page du réseau de l'établissement. (En fait c'est l'adresse IP d'une imprimante...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $contenu_page = file_get_contents('http://www.google.fr'); if(preg_match("/google/i", $contenu_page)) echo "Chaîne trouvée !"; else echo "Chaîne absente !";
Mais lorsque je mets l'adresse locale dans mon code :
Ca m'affiche (sous Chrome) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $contenu_page = file_get_contents('http://172.16.**.**/Istatus.htm'); if(preg_match("/Toner restant/i", $contenu_page)) echo "Chaîne trouvée !"; else echo "Chaîne absente !";
Alors que je suis bien connectée au réseau puisqu'en tapant l'adresse "http://172.16.**.**/Istatus.htm", je tombe sur la page voulue.Aucune donnée reçue.
Impossible d'afficher la page Web, car le serveur n'a envoyé aucune donnée.
Voici quelques suggestions :
Actualisez cette page Web ultérieurement.
Erreur 324 (net::ERR_EMPTY_RESPONSE) : Le serveur a mis fin à la connexion sans envoyer de données.
J'ai testé également avec ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $fichier = fopen('http://172.16.**.**/Istatus.htm', "r"); $contenu_page = ''; while (!feof($fichier)) $contenu_page .= fread($fichier, filesize($contenu_page)); fclose($fichier); if(preg_match("/Toner restant/i", $contenu_page)) echo "Chaîne trouvée !"; else echo "Chaîne absente !";
Et ça me donne exactement le même résultat.
Alors j'aimerais bien comprendre pourquoi ce code fonctionne très bien avec une page externe au réseau de l'établissement, mais pas avec une page interne de ce réseau...
Merci d'avance de vos réponses !
Voyel.
Partager