Bonjour je voudrais savoir si il existé une fonction pérdéfini dans delphi pour savoir si une page internet est valide ou pas (si elle n'est pas introuvable).
Sinon comment pourrais-je faire.
Merci par avance
ps: je suis sous Delphi 4
Bonjour je voudrais savoir si il existé une fonction pérdéfini dans delphi pour savoir si une page internet est valide ou pas (si elle n'est pas introuvable).
Sinon comment pourrais-je faire.
Merci par avance
ps: je suis sous Delphi 4
Et bien, si une page internet n'est pas valide, elle est redirigée vers une page d'erreur. Donc, en récupérant l'url et en la comparant avec les URL d'erreurs, sans vouloir dire de bétises, ça devrait être bon.
Ou en vérifiant le code HTML de la page (il faut d'abord étudier une page d'erreur voir comment elle est composée).
J'crois que delphi inclu des fonctions pour vérifier si la requête a abouti, mais je n'ai pas ça sous les yeux. Mais ca ne devrait pas être trop dur à trouver. Bonne chance
Valide... D'un point de vue Valide (X)HTML et tout ça ? Si c'est le cas soit tu utilises les mêmes outils que le Validateur du W3C ; à savoir un parseur XML ou SGML. Soit tu récupères le résultat du validateur du W3C et tu recherches la présence du textedans la réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part class="valid"
Si c'est du point de vue erreur de requête HTTP, page introuvable, erreur système etc. Il suffit de vérifier le code de retour de la requête. S'il vaut un nombre compris entre 200 et 299 inclus, c'est bon. Sinon il y a eu une erreur.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
tu peux aussi utiliser TLibTidy
Salut!
• Tu peux faire un ping sur l'ip ou l'url : http://sub0.developpez.com/delphi/ping.zip
• Ou bien tu peux essayer cette méthode avec Wininet :• T'es pas chiche d'ajouter le tag [Résolu]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Uses Wininet; {----------------------------------------------------------------} Function GetHTML(AUrl: String): String; Var databuffer: Array[0..4095] Of Char; hSession, hfile: hInternet; dwindex, dwcodelen, dwread, dwNumber: Cardinal; dwcode: Array[1..20] Of Char; res: PChar; Begin Result := ''; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, Nil, Nil, 0); If (Assigned(hsession)) Then Begin hfile := InternetOpenUrl(hsession, PChar(AUrl), Nil, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar(@dwcode); dwNumber := SizeOf(databuffer) - 1; If ((res = '200') Or (res = '302')) Then Begin While (InternetReadfile(hfile, @databuffer, dwNumber, DwRead)) Do Begin If (dwRead = 0) Then Break; databuffer[dwread] := #0; Result := Result + PChar(@databuffer); End; End Else Result := 'Status:' + res; If (Assigned(hfile)) Then InternetCloseHandle(hfile); End; InternetCloseHandle(hsession); End; {----------------------------------------------------------------} Procedure TForm1.FormCreate(Sender: TObject); Begin Memo1.Text := GetHTML('http://monsite.com/getmyip.php'); End;
à+
Partager