cs_fcolo
Messages postés201Date d'inscriptionmercredi 8 février 2006StatutMembreDernière intervention20 février 2007
-
10 juil. 2006 à 10:36
cs_fcolo
Messages postés201Date d'inscriptionmercredi 8 février 2006StatutMembreDernière intervention20 février 2007
-
10 juil. 2006 à 11:33
Bonjour,
Je viens du monde du C# et on me demande de réaliser un script (.vbs ou .bat ou .wss) pour rebooter une caméra IP.
Après analyse du code html derrière le bouton "Restart", il s'avère qu'il suffit juste d'aller sur la page:
"http://user:pass@IP:port/axis-cgi/admin/restart.cgi"
pour que la caméra redémarre.
On me demande également un paramètrage facile du script (ouverture par un editeur de texte et replacement des valeurs de l'IP/port et de l'user/pass).
Ensuite, grace au planificateur de taches de windows, le script ce lancera automatiquement.
Une idée été d'ouvrir dans le planificateur internet explorer avec en paramètre l'url de la page. Mais, le script tournera sur un serveur sur lequel il n'y aura pas continuellement une personne dessus. De ce fait, il ne faut pas qu'il y ai une page internet explorer ouverte à chaque redémarrage de la page sinon ce ne sera plus gérable sur le serveur.
J'ai regardé sur le net et je suis tombé sur cette PAGE. La personne s'envois à partir d'un fichier .vbs un mail.
J'ai essayé de le modifier pour qu'au lieu d'envoyer un mail, il envois les données d'ouverture de la page au serveur web de la caméra.
Voici le code que j'ai actuellement:
-----------------------------------------------------------------
'Script pour rebooter une caméra ou un serveur Axis
'Création de l'objet socket
Set oSck = CreateObject(MSWS) //<--- l'erreur ce produit à cette ligne
// "Un composant ActiveX ne peut pas créer un objet.: 'mswinsock.winsock'"
'Initialisation des paramètres de connexion
oSck.RemoteHost = S_REMOTE_HOST
oSck.RemotePort = S_REMOTE_PORT
cs_fcolo
Messages postés201Date d'inscriptionmercredi 8 février 2006StatutMembreDernière intervention20 février 20072 10 juil. 2006 à 11:12
Non, je n'ai pas cet ActiveX sur mon pc de programmation.
Comment faut-il faire pour obtenir cet ocx?
Est ce que ca marcherait sur tout type de machine?
Connaissez vous un autre moyen de réaliser mon projet?
'Création de l'objet socket
Set oSck = CreateObject(MSWS)
'Initialisation des paramètres de connexion
oSck.RemoteHost = S_REMOTE_HOST
oSck.RemotePort = S_REMOTE_PORT
'Connexion au serveur ou à la caméra
oSck.Connect
'Attente de réponse du serveur ou à la caméra
VAR_1 = oSck.State
While(oSck.State <> 7 And i < 1000)
WScript.Sleep 10
i=i+1
Wend
'Si la connexion est KO
If i >= 1000 Then
'Affichage d'un message d'erreur dans le fichier de logs
'write_log "Connection time out (State = " & oSck.State & "/" & VAR_1 & ")."
'Sinon
Else
oSck.SendData("GET " & url & "HTTP:/1.1")
End If
'Fermeture de la socket
oSck.Close
'Libération de la mémoire
Set oSck = Nothing
End Sub
-------------------------
Je pense qu'il sort à cause du time out ou autre car je ne précise pas le nom du'ilisateur et le mot de passe pour passer le htaccess. En C# on utilise un 'credential' mais ici je ne sais pas du tout.
Je vais regarder aussi l'equivalent des MessageBox.show() pour débugger :).
Existe -t-il des outils pour programmer en vbs genre visual studio avec des aides intuitives?