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

C# Discussion :

Récupérer les infos d'un site avec regex puis les importer dans une listbox.


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 1
    Points
    1
    Par défaut Récupérer les infos d'un site avec regex puis les importer dans une listbox.
    Salut,

    Voilà mon code actuellement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string Url = "https://www.us-proxy.org/";
                WebRequest wReq = WebRequest.Create(new Uri(Url));
                WebResponse wResp = wReq.GetResponse();
                StreamReader sr = new StreamReader(wResp.GetResponseStream());
                string str = sr.ReadToEnd();
     
                Regex Filtrer = new Regex("^([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}) ([0-9]{2,5})$");
                for (int i = 0; i < str.Length; i++)
                {
                    Match matches = Filtrer.Match(str);
                    listBox1.Items.Add(matches.Groups[1].Value +":"+ matches.Groups[2].Value);                
                }
    Lorsque je lance le processus sa me marque dans la listbox ":" et sa 68 000
    J'ai jamais utilisé de WebRequest c'est la première fois, donc j'ai du merder quelques part.

    Mon regex et théoriquement bon il récup 2 groupes, l'ip et le port
    d'ailleur j'ai une question, vu que le port et entre 2/5 chiffres qui ce suivent, esceque sa peut poser problème vu que l'ip il y a des suites de 2/3 chiffres?

    Et donc après j'ai fais une boucle pour que sa récup tout, et que sa mette le résultat dans la listbox1 en séparant l'ip et le port par ":".

    Si quelqu'un à une réponse!
    Merci.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 669
    Points : 5 238
    Points
    5 238
    Par défaut
    Qu'est sensé contenir str et pourquoi déclarer une boucle pour lire x fois le contenu complet de str ?
    Si str contient une liste d'IP comme je le suppose, il faudrait le splitter sur le saut de ligne par exemple et ensuite boucler sur le tableau en résultat.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par popo Voir le message
    Qu'est sensé contenir str et pourquoi déclarer une boucle pour lire x fois le contenu complet de str ?
    Si str contient une liste d'IP comme je le suppose, il faudrait le splitter sur le saut de ligne par exemple et ensuite boucler sur le tableau en résultat.
    Str, doit contenir plusieurs IP
    Donc j'ai fais une boucle pour qu'il marque toutes les IP dans la listbox.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Oui mais regarde l’intérieur de ta boucle...
    A chaque passage, tu analyses à nouveau str, et au final, tu n'utilises jamais i

    tu vas avoir n fois le même résultat, n étant la longueur de str

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    De plus le site étant en https je te suggère de faire un tour ici :

    https://www.developpez.net/forums/d1.../#post10372117

    A+

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                string Url = "https://www.us-proxy.org/";
                WebRequest wReq = WebRequest.Create(new Uri(Url));
                WebResponse wResp = wReq.GetResponse();
                StreamReader sr = new StreamReader(wResp.GetResponseStream());
                string str = sr.ReadToEnd();
                string[] lines = str.Split('\n');
     
                Regex Filtrer = new Regex("^([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})([0-9]{2,5})$");
                for (int i = 0; i < lines.Length; i++)
                {               
                    Match match = Filtrer.Match(lines[i]);
                    listBox1.Items.Add(match.Groups[1].Value + ":" + match.Groups[2].Value);
                }
    Sa récupère toujours pas, j'y arrive pas :/

  7. #7
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Avant toute chose as-tu contrôlés que la requête retourne une réponse dans ta variable Str avant de vouloir parser son contenu ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     string str = sr.ReadToEnd();

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Avant toute chose as-tu contrôlés que la requête retourne une réponse dans ta variable Str avant de vouloir parser son contenu ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     string str = sr.ReadToEnd();
    Oui, sa prend toute la page html.

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Sans voir ce qu' il y a a parser ça va être compliqué...

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2018
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Sans voir ce qu' il y a a parser ça va être compliqué...
    Comment je lui indique des choses précise?
    Le regex dit déjà qu'il doit parser un numéro contenant 3 "." en gros l'ip 123.12.2.31 et puis le deuxième groupe le port un numéro de 2 à 5 chiffres.

  11. #11
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je parle du contenu de la page.

Discussions similaires

  1. Réponses: 18
    Dernier message: 29/05/2012, 09h10
  2. Peut-on copier les infos d'un site web avec class Robot ou autres ?
    Par henriette dans le forum Général Java
    Réponses: 7
    Dernier message: 27/03/2010, 17h20
  3. [SP-2007] Récupérer les infos d'un site de réunion
    Par glucas59 dans le forum SharePoint
    Réponses: 7
    Dernier message: 25/11/2009, 14h11
  4. Réponses: 13
    Dernier message: 24/08/2006, 13h05
  5. [C#][VS2005]Récupérer les info d'un certificat avec FX 2.0
    Par virgul dans le forum Windows Forms
    Réponses: 12
    Dernier message: 31/01/2006, 08h52

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