Forum dédié aux karot:z, nabaztag:tag, mir:ror, dal:dal...


 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partager | 
 

 [Karotz] Comment ça aucune commande ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mephisto
Silver Nabz
Silver Nabz


Age: 31
Localisation: Golbey (88)
Nom du Nabaztag: Aiko [Tag²] & Océane de Rigosa Rives [Karotz]
Nbr de messages: 311
Points: 1204

MessageSujet: [Karotz] Comment ça aucune commande ?   Mer 14 Déc 2011 - 17:46

Bonjour à toutes et à tous,

Je suis en train d'écrire un script en PHP pour m'avertir via le Karotz si l'un des serveurs de mon boulot ne répond plus (les serveurs ne sont pas accessible depuis l'extérieur)

Voilà le script, dans l'état actuel, donc encore en test

Code:
<?php

class Karotz {

   private $Kz_Nom      = null;
   private $Kz_Token      = null;
   private $Kz_Voix      = "voice=fr";
   private $Kz_Type_Voix   = 1;
   private $Kz_Msg      = null;
   
   private $Msg_Liste_Srv    = null;

   private $Tmp_Serveur    = null;

   function __contruct() {}

   function Lapin($Son_Nom,$Son_Token = null)
   {
      $this->Kz_Nom = "sn=".$Son_Nom;                           // Le nom du Karotz
      if(isset($Son_Token)) {$this->Kz_Token = "token=".$Son_Token;   }      // Le token du Karotz
   }

   function Voix($Type_Voix,$La_Voix)
   {
      
      $this->Kz_Type_Voix = $Type_Voix;

      $La_Voix--;
      
      switch($Type_Voix) {
         case 1:
            $voix = array("fr","en","de","es");
            $this->Kz_Voix = "voice=".$voix[$La_Voix];
            break;
         case 2:
            $voix = array("bicool","chuchotement","darkvadoor","electra",
                  "guy_vieux","guy_voix_basse","guy_fort","guy_grave",
                  "helium","jose","juliexp","julieEnfant","loic","mamie",
                  "manuella","matteo","narbe","nono","papanoel","philippe","ramboo","samy","sidoo");
            $this->Kz_Voix = "ws_kajedo=".$voix[$La_Voix];
            break;
         default:
            break;
      }
   }

   function PrepareURL()
   {
      if(sizeof($this->Tmp_Serveur) == 0) { exit("Tout va bien, pourquoi envoyer un message ?"); }
      if(sizeof($this->Tmp_Serveur) == 1)
      {
         $this->Kz_Msg = "tts=Attention,+le,+serveur,+" . $this->Tmp_Serveur[0] .",+a,+un,+probleme";
      }
      else
      {
         for($x=0;$x<sizeof($this->Tmp_Serveur);$x++)
         {
            $this->Msg_Liste_Srv  .= "+" . $this->Tmp_Serveur[$x] . ",";
         }
         $this->Kz_Msg = "tts=Attention,+les,+serveurs," . $this->Msg_Liste_Srv  ."+ont,+un,+probleme";
      }

      if($this->Kz_Type_Voix == 2) { $this->Kz_Msg .= ",+Fin."; } else { $this->Kz_Msg .="."; }

      $url = "http://api.wizz.cc/?";
      $url .= $this->Kz_Nom;
      if(isset($this->Kz_Token))
      {      
         $url .= "&" . $this->Kz_Token;
      }
      $url .= "&" . $this->Kz_Msg;
      $url .= "&" . $this->Kz_Voix;
      return $url;
   }

   function Liste_Serveur($Serveur)
   {
      $this->Tmp_Serveur = $Serveur;
   }

   function EnvoiMsg()
   {
      $curl = curl_init();
      curl_setopt($curl, CURLOPT_URL,$this->PrepareURL() );
      curl_setopt($curl, CURLINFO_HEADER_OUT, true);
      curl_setopt($curl, CURLOPT_HEADER, false);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
      $result = curl_exec($curl);
      if(!$curl)
      {
         echo "ERREUR : ". curl_error($curl);
         curl_close($curl);
         exit();
      }
      $curl_info = curl_getinfo($curl);
      $retour = print_r($curl_info);      
      curl_close($curl);
      echo "<br>Retour  : " . $result;
   }
}
?>


Dans un premier temps, je déclare ma class

Code:
$kz = new Karotz();


Puis j'envoie les paramètres du lapin (Nom et Token si il y a lieu)

Code:
$kz->Lapin("O2RR");


Je choisis le type de voix , puis la voix en elle même

Code:
$kz->Voix(2,12);


J'injecte la liste du ou des serveurs.

Code:
$kz->Liste_Serveur(array("symphonie","sauvegarde","fichier"));


Ici je lui envoi un tableau mais en production, ce sera remplacé par une variable contenant un tableau.

Et j'envoie le message au karotz

Code:
$kz->EnvoiMsg();


Enfin je devrais envoyer comme retour, je le message suivant

Citation:
Retour : [Karotz] Aucune commande


Si j'affiche les infos venant de curl, j'ai ceci

Citation:
Array (
[url] => http://api.wizz.cc/?sn=O2RR&tts=Attention,+les,+serveurs,+symphonie,+sauvegarde,+fichier,+ont,+un,+probleme,+Fin.&ws_kajedo=julieEnfant
[content_type] => text/html
[http_code] => 200
[header_size] => 463
[request_size] => 174
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 1.836027
[namelookup_time] => 0.000637
[connect_time] => 0.765778
[pretransfer_time] => 0.765786
[size_upload] => 0
[size_download] => 24
[speed_download] => 13
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 1.835992
[redirect_time] => 0
[certinfo] => Array ( )
[request_header] => GET /?sn=O2RR&tts=Attention,+les,+serveurs,+symphonie,+sauvegarde,+fichier,+ont,+un,+probleme,+Fin.&ws_kajedo=julieEnfant HTTP/1.1 Host: api.wizz.cc Accept: */*
)


Si je prend l'url et que je la colle directement dans le navigateur, ça fonctionne. nabz2

Je pense que c'est dans la fonction EnvoiMsg que j'ai un problème mais où précisément, c'est un grand mystère.

Je me tourne donc vers vous, afin de voir si l'une ou l'un d'entre vous aurait une idée.

Merci d'avance pour votre aide.
Revenir en haut Aller en bas
wizz.cc
Special Nabz
Special Nabz


Localisation: Paris - France
Nom du Nabaztag: Wizz.cc
Nbr de messages: 669
Points: 989

MessageSujet: Re: [Karotz] Comment ça aucune commande ?   Mer 14 Déc 2011 - 18:12

Salut Mephisto,
Si tu obtiens la réponse [Karotz] Aucune commande c'est que le param &tts n'est pas détecté (non présent ou mal orthographié ou transcodé etc...)

et comme ça fonctionne en copiant l'url dans un nav... mets un wireshark et intercepte le get de ton prg pour vérifier.

Citation:
Je suis en train d'écrire un script en PHP pour m'avertir via le Karotz si l'un des serveurs de mon boulot ne répond plus (les serveurs ne sont pas accessible depuis l'extérieur)


sinon t'inquiète pas, y'en aura tjs un pour te prévenir (et t'incendier) au tél... nabz4

Cdt,
Wizz.cc
Revenir en haut Aller en bas
http://wizz.cc
Mephisto
Silver Nabz
Silver Nabz


Age: 31
Localisation: Golbey (88)
Nom du Nabaztag: Aiko [Tag²] & Océane de Rigosa Rives [Karotz]
Nbr de messages: 311
Points: 1204

MessageSujet: Re: [Karotz] Comment ça aucune commande ?   Mer 14 Déc 2011 - 19:43

Salut Wizz,

ça fonctionne, j'ai simplement changé les & amp; par &.

Je confirme si un serveur tombe, tu es le dernier au courant.
Revenir en haut Aller en bas
 

[Karotz] Comment ça aucune commande ?

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Aucune idée
» RECHERHE COMMANDE GAZ AIR
» comment cracker la wii de 3.0 a la 4.3
» Comment Restat ?
» Un mumble comment ça marche?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum dédié aux karot:z, nabaztag:tag, mir:ror, dal:dal... :: nabaztag - nabaztag:tag - karotz :: L'univers de Nabaztag :: Archives :: API-