Recuperer une valeur retounée par une page dynamique [Résolu]

Signaler
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005
-
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005
-
Salut tout le monde, je cherche depuis un petit moment a faire un script qui recupere le contenu d'une page (asp ou autre) pour savoir s'il y a le mot OK dedans.
exemple j'ai une URL que j'interroge et le serveur me repond "Status=OK"

Comme j'ai plein d'url a tester je voudrais qu'une seule page fasse les tests pour moi et si la page retoure OK je met Vert et si c KO je met Rouge.

La ou je seche grave c'est pour recuperer le contenu d'une page sans l'afficher, il me faudrait une fonction genre testPage("www.pouet.com?test=Status") qui me retounerai OK ou KO.

Si quelqu'un a une idée je suis preneur ! Je continue a chercher et si je trouve je posterais le source !

Merci
Le chacal

6 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Si tu fais



Private Function CheckIfGood(ByVal url As String) As String
Dim RTN As String = String.Empty



Dim oRequest As HttpWebRequest
oRequest = WebRequest.Create(url)
oRequest.UserAgent = "applicationName"
oRequest.Timeout = TimeOut



Dim oResponse As HttpWebResponse
Try
oResponse = oRequest.GetResponse
If Not oResponse.StatusCode = HttpStatusCode.OK Then

RTN = CInt(oResponse.StatusCode) & " - " &
oResponse.StatusCode.ToString
Else
RTN = "OK"
End If


Catch ex1 As WebException

RTN = CInt(ex1.Status) & " - " & ex1.Status.ToString

Catch ex As Exception

RTN = "Pas normal"

End Try

Return RTN

End Function



puis dans le page load un label1.text = CheckIfGood("http://www.aspfr.com")



ca te dit quoi ? obligé qu'il écrive quelque chose, sinon faut revoir les tutos en asp.net :)

<hr> Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Si tu travailles en asp.net c'est trés simple



il te suffit de faire une requete avec system.web.httprequest sinon en asp3 j'en ai aucune idée

<hr> Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005

Ben pour l'instant je m'etais orienté asp3 mais j'ai l'esprit ouvert...

Par contre je l'utilise comment concretement httprequest ?
parce que le site de microsoft est pas tres clair...

merci

Le chacal
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Un exemple de code qui devrait t'aider

Private Function CheckIfGood(ByVal url As String) As String


Dim RTN As String = String.Empty


Dim oRequest As HttpWebRequest
oRequest = WebRequest.Create(url)
oRequest.UserAgent = "applicationName"
oRequest.Timeout = TimeOut


Dim oResponse As HttpWebResponse
Try
oResponse = oRequest.GetResponse
If Not oResponse.StatusCode = HttpStatusCode.OK Then
RTN = CInt(oResponse.StatusCode) & " - " & oResponse.StatusCode.ToString
Else
RTN = "OK"
End If


Catch ex1 As WebException
RTN = CInt(ex1.Status) & " - " & ex1.Status.ToString
Catch ex As Exception
RTN = "Pas normal"
End Try
Return RTN
End Function

Tu trouveras ce que t'as envie dans oResponse :)



<HR>



Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005

J'avais récupéré ca :

Public Function RecupHTTP(ByVal URL As String) As String
' Déclaration des variables
Dim LeDomaine As Integer
Dim LeURL As String = ""
Dim LeHost As String = ""
Dim LeChemin As String = ""
Dim Resultat As String = ""
Dim RecupHTTPChaine As String = ""
Dim WebClient As New System.Net.Sockets.TcpClient()
Dim WebStream As System.Net.Sockets.NetworkStream
Dim WebWriter As System.IO.StreamWriter
Dim WebReader As System.IO.StreamReader
' On découpe l'url envoyée en paramètre à la fonction
LeDomaine = InStr(UCase(URL), "HTTP://")
If LeDomaine > 0 Then
LeURL = Mid(URL, LeDomaine + 7)
Else
LeURL = URL
End If
LeDomaine = InStr(LeURL, "/")
If LeDomaine > 0 Then
LeHost = Mid(LeURL, 1, LeDomaine - 1)
LeChemin = Mid(LeURL, LeDomaine)
Else
LeHost = LeURL
LeChemin = "/"
End If

' On construit notre requete HTTP
RecupHTTPChaine = "GET " & LeChemin & " HTTP/1.1" & vbCrLf & "Host: " & LeHost & vbCrLf & "Connection: Close" & vbCrLf & vbCrLf

' On ouvre une socket sur le port 80
WebClient.Connect(LeHost, 80)
WebStream = WebClient.GetStream
WebWriter = New System.IO.StreamWriter(WebStream)
WebWriter.Write(RecupHTTPChaine)
WebWriter.Flush()
WebReader = New System.IO.StreamReader(WebStream)

' On stock la page html dans notre variable "Resultat"
Resultat = WebReader.ReadToEnd()

' On ferme la socket
WebStream.Close()
WebClient.Close()

' On renvoi ce que l'on a récupéré
RecupHTTP = Resultat
End Function

Mais tout comme l'exemple que tu m'a donné ca retourne rien du tout, même pas d'erreur...
J'ai du rater un truc, je suis super lege en .net, autan en asp3 no problem mais la il y a des subtilités que je dois pas comprendre...

Le chacal
Messages postés
25
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
4 août 2005

au temps pour moi ...
les deux fonctionnent parfaitement !
c'est juste que je ne peux pas afficher le résultat dans un label, mais avec un response.write tout C... ca marche nickel et en + les deux fonctions se completent, la tienne pour checker que la page repond et l'autre pour en recuperer le contenu ...

Merci a toi Maître...;-)

Le chacal