bigtoof
Messages postés7Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention19 mai 2003
-
12 mai 2003 à 15:29
blinnit
Messages postés18Date d'inscriptionmardi 24 juin 2003StatutMembreDernière intervention18 mars 2006
-
2 avril 2004 à 01:47
J'aimerais tester plusieurs pages web sur un intranet et avertir par mail un utilisateur si il y a une page qui ne répond pas (par exemple erreur 404).
- j'ai essayé le controle winsock mais je ne peux pas acceder aux pages intranet (erreur 401 : non autorisé)
alors je me demande si on peut passer des parametres comme login et mot de pass dans le string strCommand :
Const txtPageURL As String = "http://intranet.janf.fr/hello.html"
Const remoteHost As String = "intranet..janf.fr"
Private Sub Command1_Click()
With WinSCK
If .State <> sckClosed Then .Close
.remoteHost = remoteHost
.Protocol = sckTCPProtocol
.RemotePort = 80
.Connect
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
If WinSCK.State <> sckClosed Then WinSCK.Close
End Sub
Private Sub WinSCK_Connect()
Dim strCommand As String
Dim strWebPage As String
strWebPage = txtPageURL
strCommand = "HEAD " + strWebPage + " HTTP/1.0" + vbCrLf
strCommand = strCommand + vbCrLf
WinSCK.SendData strCommand & vbCrLf
End Sub
Private Sub WinSCK_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
WinSCK.GetData strData, "", 26
Text1.Text = strData
End Sub
- sinon existe il un autre moyen de les vérifier ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 mai 2003 à 15:41
Salut
Si ton serveur est un serveur Web, qu'il soit intranet ou www ne soit pas changer grand chose.
Je te conseille d'utiliser le control iNet
Projet, Composants, "Microsoft Internet Controls"
Ensuite, son utilisation est très simple :
Chaine = iNet1 (URL)
-- URL est l'adresse de la page à charger
-- Chaine est une String dans laquelle tu récupère le code de la page --> Facile de repérer l'erreur 404
bigtoof
Messages postés7Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention19 mai 2003 12 mai 2003 à 16:03
Je viens d'essayer ton exemple mais je n'arrive pas à le faire fonctionner
Inet1(URL) ca ne fonctionne pas ??
<code>
Private Sub Command1_Click()
Dim Url As String
Url = "http://www.google.fr/index.html"
Dim chaine As String
chaine = Inet1(Url)
Text2.Text = chaine
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 mai 2003 à 18:32
Tu disais :
HTTP/1.1 404 Object Not Found
Server: Microsoft-IIS/5.0
Date: Mon, 12 May 2003 14:57:39 GMT
Connection: close
Content-Type: text/html
Content-Length: 4040
j'aimerais recuperer la valeur 404
-----------------------
Je n'ai jamais essayé la méthode GetHeader du iNet, mais tu dois pouvoir le tester facilement !
Pour rechercher une erreur :
Simple : Dans l'exemple Chaine = iNet1.OpenURL(URL), il te suffit de dépouiller la chaine récupérée :
Pour rechercher l'erreur 404 :
If Instr(1, Chaine, "404 Object Not Found") > 0 then
Beep ' La page est introuvable
End If
Vala
Jack
NB : Si tu as des questions, continue à les poser ici (plutôt que dans ma boîte aux lettres) pour que tout le monde en profite !!
blinnit
Messages postés18Date d'inscriptionmardi 24 juin 2003StatutMembreDernière intervention18 mars 2006 2 avril 2004 à 01:45
Moi je te conseil une methode plus simple, repere une phrase qui est tjr dans la page ke tu veux controler, et recherche dans la source pour voir si il y est bien...
Exemple :
[CODE]
Dim Source
Source = inet.OpenURL("http://www.google.com")
While inet.StillExecuting
DoEvents
Wend
If instr(1,Source,"<title>Google</title>") = 0 then 'par exemple
Debug.Print "Kaputt"
Else
Debug.Print "OK"
end if