Aller au contenu

Test de connexion internet ou d'accès à un domaine


Krikroff

Messages recommandés

Tout à  commencé ici :)http://forum.fibaro.com/viewtopic.php?t=1894

 

Ce script peut servir à  vérifier l'accès à  un domaine et donc aussi sa connexion Internet. J'utilise une variable pour enregistrer le résultat: Cette variable n'est pas obligatoire, juste utile pour utiliser le résultat du script dans une scène.

 

La limite de cette méthode pour le test de connexion est la disponibilité du domaine vers lequel pointe le script.

--[[
%% properties
%% globals
--]]

fibaro:log("Start process");
fibaro:sleep(2000);
fibaro:log("<b>Check internet connection.</b>");
fibaro:sleep(2000);

HC2 = Net.FHttp("dyn.com");
-- call domaine to check
response, status, errorCode = HC2:GET("/");
-- check for error
if errorCode == 0 then
  fibaro:setGlobal('Network Status', 1);
  fibaro:log("Internet connection is alive, http response status is " .. status);
  if tonumber(status) == 200 then
    fibaro:sleep(2000);
    fibaro:log("<b>The request has succeeded</b>");
  end
else
  fibaro:setGlobal('Network Status', 0);
  fibaro:log("<b>Internet is down, check your connection</b>");
end

--EOF 
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 2 mois après...

tiens je deterre ce topic pour informer qu'avec les dernieres versions du firmware v6 de la freebox ( krikroff je sais que tu es freenaute :) )

il y a une petite subtilité.

si la box detecte un pb de net, elle renvoie une page informative a toute requete http demandee, et du coup elle renvoie un code 200 ok.

on a donc le net down mais le code le voit pas.

moi j.ai contourné en interrogeant httpbin.org/status/600 par exemple qui renvoie le code 600, et la la freebox ne peut pas lutter :)

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...

A mon tour de déterrer...

si je remplace la ligne du script de Krikoff:

  1. HC2 = Net.FHttp("dyn.com");

 

par

 

HC2 = Net.FHttp("httpbin.org/status/600");

 

Le debug m'indique que la connexion est down (alors que tout fonctionne bien).

 

Ce n'est pas cette ligne qu'il faut remplacer? Il faut installer quelque chose de particuliers?

 

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

a vue de nez si tu appelles httpbin.org/status/600 et que ta connection marche, ça renvoie le code 600 ( c'est le principe de httpbin.org/status)

 

donc ligne 19 je mettrais if tonumber(status) == 600 then

Lien vers le commentaire
Partager sur d’autres sites

mais ce n'est pas ce que je récupère, je ne vois pas où je me rate, voilà  mon code:

 

HC2 = Net.FHttp("httpbin.org/status/600");
-- call domaine to check
response, status, errorCode = HC2:GET("/");
 
fibaro:debug("response"..response);
fibaro:debug("status"..status);
fibaro:debug("errorCode"..errorCode);
 
Et je récupère rien dans response, rien dans status et 2 pour errorcode
Lien vers le commentaire
Partager sur d’autres sites

mon code est formulé comme ça:

 



testnet = Net.FHttp("httpbin.org",80) 
response, status, errorCode=testnet:GET('/status/600')


 

et ça renvoie 

 



response= status=600 errorCode=0

 

 

Celà  dit, j'imagine que krikroff a résolu ça depuis longtemps dans son plugin ( j'avaoue que j'ai pas été tres actif ces 6 derniers mois, pas taper, pas taper..)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...