IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

lire un fichier w3c en delphi


Sujet :

Delphi

  1. #1
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut lire un fichier w3c en delphi
    bonjour,

    ca fait longtemps que je n ai pas toucher a delphi et je souhaite lire les log IIS qui sont au format W3C.

    il y a plusieurs champs et celui qui m intéresse est src-ip.
    Ceci afin de lister les connections exterieur multiples et les bannir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #Software: Microsoft Internet Information Services 8.5
    #Version: 1.0
    #Date: 2017-09-04 17:02:56
    #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
    2017-09-04 17:02:56 192.168.2.2 OPTIONS /c$/Users/tutu/Documents/ - 80 - 192.168.2.20 Microsoft-WebDAV-MiniRedir/10.0.15063 - 200 0 0 78
    2017-09-04 17:02:56 192.168.2.2 PROPFIND /c$/Users/tutu/Documents/ - 80 - 192.168.2.20 Microsoft-WebDAV-MiniRedir/10.0.15063 - 404 0 2 31
    2017-09-04 17:02:56 192.168.2.2 PROPFIND /c$/Users/tutu- 80 - 192.168.2.20 Microsoft-WebDAV-MiniRedir/10.0.15063 - 404 0 2 46
    J ai fais le tour de google mais j ai pas trouvé comme faire ca.
    merci de votre aide
    a+
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    cela ressemble assez à un banal fichier txt (en sautant les premières lignes)
    après tout est une question de parsing de la ligne, et pour ce faire une expression régulière pourrait faire l'affaire
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    Merci SergioMaster,

    Mais j avoue ne pas avoir utilise ce type.
    Aurais tu un exemple svp.

    merci
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    je me doutais qu'il fallait développer ma réponse

    Fait au débotter, il faudra peut-être revoir un peu les positions (lignes à sauter, position de l'ip à récupérer)
    lire un fichier
    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
     
        var
          F: TextFile;
          s: string;
          i : integer;
        begin
          AssignFile(F, FilenameEdit2.text );
          Reset(F);
          i:=0;
          while (not eof(F)) do
                 begin           
                 Readln(F, S);
                 inc(i);
                 if i>5 then Memo1.lines.Add(TraiterLaChaine(s));  // saute les lignes 1 à 5 et envoi résultat dans un memo
                 end;
          CloseFile(F);
        end;
    Traiter la Chaine, cela va dépendre entre autre de la version de Delphi pour ce qui est de la possibilité d'utilisation des expressions régulières sion en traitant directement la chaine ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function traiterlachaine(S : String) : String;
    begin
      S:=Delete(S,20);  // ip à partir de la position 20
      result:=Copy(S,1,Pos(' ',S)-1);
    end;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    merci

    j ai un delphi x2.

    Le dernier que j ai utilise etait delphi 7.

    je regarde et test le code merci

    a+
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    avec XE2 on peut certainement jouer déjà avec l'unité System.RegularExpressions et les expressions régulières (à vérifier)

    voici une expression certainement pas parfaite qui permet de récupérer l'ip? le port et la seconde ip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \A.{20}(?<IP>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*-\s(?<Port>\d*)\s-.*\s(?<IP2>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*\z
    je t'invite à lire les faqs au sujet des expressions régulières et faire quelques recherches dans le forum pour récupérer les groupes (je suis sûr d'avoir poster sur ce sujet)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Points : 1 194
    Points
    1 194
    Par défaut
    re,

    bon j ai tester et c 'est ok pour moi sauf la fonction mais je dois me remettre dans le bain.
    J ai utilisé delete (faq et forum).

    merci pour ton aide.

    je vais voir aussi l expression régulière que tu as mise histoire de voir comment ca marche.

    J avais déjà fait un tour sur la FAQ.

    encore merci

    je ne clôture pas car je pense revenir sur le sujet..
    Une porte peut -etre ouverte ou....rouge!!!!:mouarf

Discussions similaires

  1. Lire un fichier Matlab sous Delphi
    Par chris.agroparistech dans le forum Débuter
    Réponses: 3
    Dernier message: 22/03/2018, 21h18
  2. Lire un fichier XML avec un Delphi-Script
    Par PrinceMaster77 dans le forum Débuter
    Réponses: 1
    Dernier message: 09/12/2009, 16h05
  3. Lire un fichier PDF a partir de Delphi
    Par souminet dans le forum Débuter
    Réponses: 1
    Dernier message: 14/06/2008, 09h43
  4. Lire un fichier MP4 avec Delphi
    Par GSXR1000 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/06/2008, 22h26
  5. Lire des fichiers Windev avec Delphi
    Par julesclaude dans le forum Bases de données
    Réponses: 7
    Dernier message: 20/01/2007, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo