HTTP => Testeur

cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008 - 24 déc. 2003 à 16:21
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008 - 25 déc. 2003 à 16:13
Salut !
Voila ca va vous paraitre stupide, mais j'ai l'intention de developper un petit programme qui permet de voir si certains fichiers existent sur un server par exmple le mien.

par exemple j'ai tester deux compots HTTP (ICS et Indy)

et tout les dexu me retournent une erreur si je tape une mauvaise url ex :

http://localhost:80/ <- Bon url
http://localhost:80/test <- Mauvaise Url.

et donc moi je voudrait que à la place de me faire planter le programme ca filtre le message et que ca me retourne l'erreur !

par exmple un gars avait developper en c++ un programme qui testait toutes les possibilité de fichier sur un server ex :

http://localhost:80/1.php
http://localhost:80/2.php
http://localhost:80/3.php
http://localhost:80/4.php
..

Si la page existait ca retournait 1 sinon 0
si ca retourne 1 alors il savais que la page existait (c'etait pour un challange dans lequel fallais trouver la bonne page)

et ca ne lui plantait pas !
je crois que c'est avec les socket mais c'est pareil comment je peut faire ?

Je voudrait faire le même principe, mais par exemple avec des fichier plus concrets comme :
/admin
/temp

enfin un testeur de failles.

Mais comme je le disait précédemment les compot au lieux de retourner 1 ou 0 envois un message d'erreur ce qui empeche le "brute-force".

Si quelq'un as une idée, merci

4 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
25 déc. 2003 à 03:14
Salut Amokers !

Voici avec un code que j'ai essayé avec Indy qui devrait te permettre de faire ton prog (après adaptation bien sûr ! ;) )

  Try
    idHTTP1.Get('http://www.bla.com/sdfmj.html', Stream);
  Except
    On EIdHTTPProtocolException Do
      if idHTTP1.ResponseCode = 404 then
        ShowMessage('Le fichier n''existe pas !!');
  end;


Il ne s'agit, comme tu le vois, que d'une gestion des exceptions, le composant TidHTTP possédant la propriété ResponseCode pour donner le résultat de la dernière requête !

Il n'y a pas grand chose à changer pour renvoyer True ou False en fonction du résultat de la requête !!
[mailto:bestiol@cario.fr Bestiol.]

Visitez mon site : :big)
Delphi vu par Bestiol
0
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
25 déc. 2003 à 11:24
Merci infiniement.

Par la meme ocasion connaitrait tu les composants :
JCL+JVCL210

C'est un truc Jedi

Ya trop plein de compots !
Ca m'embrouille lol :p
0
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
25 déc. 2003 à 12:49
Vraiment pas de quoi !!! :o)

Je "connais" les composants dont tu parles, de nom... Je les avais téléchargés mais je ne les ai jamais installés...

Si tu es perdu, tu peux peut-être trouver de la doc sur le site du projet JEDI non ?!

Bonne prog' !
[mailto:bestiol@cario.fr Bestiol.]

Visitez mon site : :big)
Delphi vu par Bestiol
0
cs_AMokers Messages postés 83 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 8 octobre 2008
25 déc. 2003 à 16:13
je te remercie mais le seul hic c'est que c'est en en :(

Au fait grace à tois mon prog marche a merveille (enfin du moins en local pas tester encore sur le net ;))

Ca pourras faire un ecellent tester de faille ;)

Des que j'ai finish je publie la source ;)

Encore merci :p

La en fait je fais que de la présentation et j'essay de voir comment faire pour mettre de la couleur dans un memo !
ou par exmple un fleche rouge et une verte !

Car ca renvoie deux choses :

On EIdHTTPProtocolException Do
if HTTP.ResponseCode = 404 then
Log.Lines.Add(Url.Text+ListeFichiers.Items[i]+' : n''existe pas.') else
Log.Lines.Add(Url.Text+ListeFichiers.Items[i]+' : Erreur Inconu ('+IntToStr(HTTP.ResponseCode)+')')
end;

Donc en fait je vais rajouter du son ca seras fun ;)

mais j'aimerais mettre une fleche verte si c ok sinon une fleche rouge !

comment je peut faire ca ?

Merci
0
Rejoignez-nous