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 :

Utilisation de Telnet sous Monodevelop C#


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut Utilisation de Telnet sous Monodevelop C#
    Bonjour,
    j'ai voulu créer un petit outil pour effacer automatiquement une boite spamée avec 60000 messages, le protocole IMAP étant un peu long à utiliser
    (STORE manuel 60000 fois)

    donc j'ai commencé à l'écrire mais me suis apercu que je ne savais pas executer un shell sous monodevelop ubuntu, comme je pouvais le faire en VC# sous Windows...
    voici le début de mon code:

    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
     
    using Microsoft;
    using System;
     
    namespace MonTelnetScript
    {
    	class MainClass
    	{
    		public static void Main (string[] args)
    		{
    			Console.WriteLine ("MAILBOX SPAM CLEANER");
    			ActiveXObject
    			wsh=new ActiveXObject("WScript.shell");
     
     
    			wsh.run ("telnet.exe -f telnet.log pop.laposte.net 110");
     
    			wsh.sleep (1000);
    			wsh.sendkeys ("user toto~");

    Le soucis c'est qu'ActiveXObject n'est pas reconnu,
    quelqu'un peu t'il me donner une solution de rechange? ou me dire comment corriger cela? (avec un equivalant sendkeys)!
    merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Bonsoir,

    Le soucis est que tu utilises un ActiveX (technologie uniquement disponible sous Windows) alors que tu es sous linux.

    Peut être est-il possible d'utiliser cette technologie à l'aide d'un logiciel comme Wine (question ouverte).

    Pour ton problème, étant donné que tu souhaites simplement lancer un processus, et bien sache que l'API .Net propose tout le nécessaire. Il n'y a pas besoin de passer par l'utilisation d'un ActiveX.

    Je t'invite à consulter la documentation de la classe Process, dans laquelle tu trouveras par ailleurs un exemple permettant de lancer un processus depuis ton programme.

    Documentation de la classe Process sur la MSDN : http://msdn.microsoft.com/fr-fr/libr...vs.100%29.aspx

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut
    merci pour ta réponse,
    mais justement monodevelop avec notamment monogame n'était pas supposé fournir des equivallents activeX? Je suis un peu perdu, car je commence à m'initier à cela
    Je vais en tout cas regarder la classe process.
    merci pour l'info

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut
    Je ne vois pas d'quivellant à SendKey!!!
    c'est surtout cela qui m'interesse...tu sais comment faire?

  5. #5
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Je ne connais pas monogame, donc sur ce point, je ne sais pas ^^

    Concernant le sendkeys, je suppose que cela consiste à envoyer des commandes sur l'entrée standard du programme. Toujours sur le lien que je t'ai donné précédemment, je t'invite à voir en détail la propriété StandardInput qui devrait pouvoir faire l'affaire

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut
    merci,
    j'ai toujours un problème, le compilateur ne trouve pas le mot clef 'Process'
    dans les using que j'ai...

    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
     
    using System;
    using Microsoft;
    using Microsoft.VisualBasic;
    using Microsoft.CSharp;
     
    namespace TelnetVB
    {
    	class MainClass
    	{
    		public static void Main (string[] args)
    		{
     
    			Process myProcess = new Process();
     
                try
                {
                    myProcess.StartInfo.UseShellExecute = false;
                    // You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "telnet -f telnet.log pop.laposte.net 110";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.Start();
    				myProcess.WaitForInputIdle(1000);
    				myProcess.StandardInput="USER toto";
    				myProcess.WaitForInputIdle(1000);
    				myProcess.StandardInput="PASS lemotdepasse";
    				myProcess.WaitForInputIdle(1000);

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut
    je viens de trouver...
    using System.Diagnostics;

    ca progresse!

  8. #8
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Ce n'est pas un mot clé, mais une classe définit dans l'espace de nom System.Diagnostics

    Tu peux donc au choix, soit ajouter un using System.Diagnostics en haut de ton code, soit utiliser System.Diagnostics.Process au lieu de Process tout court.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Points : 94
    Points
    94
    Par défaut
    oui oui j'avais bien compris!!!!
    J'ai juste précisé que j'avais trouvé le bon using!!!

    voilà, enfin mon code marche et j'ai pu supprimer les 60000 spams de ma boite aux lettres!

    pour ceux qui ont le même problème, voici!

    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
     
     
    using System;
    using System.Diagnostics;
    using System.IO;
     
    namespace TelnetVB
    {
    	class MainClass
    	{
    		public static void Main (string[] args)
    		{
     
    			Process myProcess = new Process();
     
                try
                {
                    myProcess.StartInfo.UseShellExecute =false;
                    // You can start any process, HelloWorld is a do-nothing example.
                    myProcess.StartInfo.FileName = "telnet"; 
    				myProcess.StartInfo.Arguments= "pop.laposte.net 110";
                    myProcess.StartInfo.CreateNoWindow = true;
    				myProcess.StartInfo.RedirectStandardInput = true;
    				myProcess.Start();
    				StreamWriter myStreamWriter = myProcess.StandardInput;
     
    				myStreamWriter.WriteLine("USER user");
                    System.Threading.Thread.Sleep(100);
    				myStreamWriter.WriteLine("PASS pass");
                    System.Threading.Thread.Sleep(100);
     
    				for (int i=1; i<60192; i++)
    				{
    					myStreamWriter.WriteLine("DELE "+i);
    					System.Threading.Thread.Sleep(1);
    					Console.WriteLine (i);
    				}

  10. #10
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Citation Envoyé par §Gama§ Voir le message
    je viens de trouver...
    using System.Diagnostics;

    ca progresse!
    Arf, je n'avais pas vu que tu avais répondu entre temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FreePascal] Utilisation de Graph sous FreePascal
    Par tit charles dans le forum Free Pascal
    Réponses: 6
    Dernier message: 13/12/2004, 13h56
  2. [D8] Utilisation dll D7 sous D8
    Par smyley dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 01/11/2004, 11h28
  3. Comment utiliser Site Exec sous FTP
    Par phig dans le forum Développement
    Réponses: 2
    Dernier message: 12/08/2003, 17h11
  4. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24

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