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 :

libcurlNet : C# & curl


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 20
    Par défaut libcurlNet : C# & curl
    Bonjour,

    Je fais appel à vos compétences pour m'éclaircir à propos de la bibliothèque libcurlNet. J'ai passé pas mal de temps à chercher des tutoriels sans trop de résultats. Peut être ai-je pas utilisé les bons mots clés ?
    Quoiqu'il en soit mon besoin serait de pouvoir utiliser curl dans mon code C# sans que le client n'ait à installer curl sur son ordinateur.

    Le script curl serait le suivant:

    curl -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -X POST http://localhost:3000/user/login \
    -d "{'user' : { 'user_name' : 'username', 'password' : 'pass'}}" \
    -c cookie

    curl -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -X GET http://localhost:3000/export/export_all?mines=true \
    -b cookie

    En gros il permet à un utilisateur de se connecter et garder sa session ouverte pour ensuite lancer un script d'export (localhost:3000/export[...]).
    Ce script permet de créer un fichier csv, qui doit ensuite être parser en C#.

    Pour revenir au problème, je ne vois pas comment exécuter ces commandes avec libcurlNet. J'ai essayé des trucs dans ce genre:

    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
     
                try
                {
                    Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
                    Easy easy = new Easy();
     
                    easy.SetOpt(CURLoption.CURLOPT_URL, "http://localhost:3000/user/login");
                    //easy.SetOpt(CURLoption.CURLOPT_COOKIESESSION,  );
     
                    if ((username != "") && (password != ""))
                    {
                        easy.SetOpt(CURLoption.CURLOPT_USERPWD, username + ":" + password);
                    }
                    easy.Perform();
                    easy.Cleanup();
                    Curl.GlobalCleanup();
     
                }
                catch (Exception err)
                {
                    MessageBox.Show(""+err);
                }
    Cependant, je ne sais même pas comment visualiser si ce bout de code génère des erreurs de connexions, etc.
    Sauriez-vous quelles sont les méthodes à utiliser ou me dire où trouver un bon tutoriel à propos de cette bibliothèque? Ou bien encore auriez vous une meilleur solution?

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Je ne connais pas libcurlNet, mais pourquoi utilisez ça au lieu de "HttpWebRequest"?

    Tu peux faire des requêtes POST, ou avec GET. Il y a aussi la gestion des cookies (pour retenir le id session).

    Personnellement j'utilise toujours ça quand j'ai besoin d'appeler quelque chose qui passe par HTTP (page web le plus souvent).

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par PatteDePoule Voir le message
    Je ne connais pas libcurlNet, mais pourquoi utilisez ça au lieu de "HttpWebRequest"?
    +1, je ne vois vraiment pas l'intérêt d'utiliser un truc qui n'est pas fait pour .NET au départ, alors que .NET contient tout ce qu'il faut pour faire du HTTP...

  4. #4
    Membre averti
    Inscrit en
    Août 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 20
    Par défaut
    Merci pour les réponses.
    Mes recherches m'avaient poussées vers libcurlnet...
    Du coup je vais me pencher sur HTTPwebRequest, merci encore.

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

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