Bonjour,

Je développe un logiciel qui vérifie automatiquement si les noms de domaines qu'on lui donne sont libre ou non.

Le problème est qu'en moyenne quand il arrive au 110ième de la liste, il s'arrête et renvoie le message d'erreur suivant :

Socket Error #10053
Software caused connection abort.
Voici la fonction qui effectue la requête sur le Whois gérant les SLD en .info :

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
Function TForm1.Statut_beexe(R: string): Integer;
var
  WhoIs : TIdWhois;
  Info : String;
 
begin
  Result := 30;
 
  WhoIs := TIdWhois.Create;
  WhoIs.Port := 43;
  WhoIs.Host := 'whois.afilias.net';
  WhoIs.ConnectTimeout := 5000;
  Try
    Info := LowerCase(WhoIs.WhoIs(R + '.info'));
  Except
    On EIdConnectTimeout Do
      Result := 91;
  end;
 
  If (Pos('not found', Info) <> 0) Then //Free
    begin
      Result := 2;
    end;
end;
Code qui appel la fonction lorsque l'on appuie sur un bouton :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
[...]
 
    If (Statut_beexe(s) = 2) Then
      begin
        Memo1.lines.Add(s);         //ajoute le contenu de s dans Memo
      end;
    If (Statut_beexe(s) = 91) Then
      begin
        Memo1.lines.Add('TIME OUT : ' + s);  //ajoute le contenu de s dans Memo
      end;
 
[...]
Pour résumer, j'aimerais qu'il vérifie la disponibilité d'une liste de noms de domaines sans renvoyer d'erreur.

D'avance merci pour votre aide.



xenos