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

Bibliothèques Discussion :

[libcurl] Accès à IMAP


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Par défaut [libcurl] Accès à IMAP
    Bonjour,
    je travaille sur des comptes imap via ssl, le tout sous ubuntu (15.10).
    Sous php, j'ai développé à peu près tout ce que je voulais, liste des bal imap, accès aux messages, destruction de certains, etc ...
    sous c++, je comptais utiliser la bibliothèque libcurl déjà installée sur mon système linux, la syntaxe ne me semble pas aller de soi.
    et sous la console, une lecture de ce qui est installé ne m'éclaire pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    olivier@machine:~$dpkg -l libcurl*
    Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
    | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
    |/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
    ||/ Nom            Version      Architecture Description
    +++-==============-============-============-=================================
    ii  libcurl3:i386  7.43.0-1ubun i386         easy-to-use client-side URL trans
    ii  libcurl3-gnutl 7.43.0-1ubun i386         easy-to-use client-side URL trans
    un  libcurl4-gnutl <aucune>     <aucune>     (aucune description n'est disponi
    olivier@machine:~$
    Une idée de la syntaxte à utiliser ?
    L'erreur se produit à la compilation 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
    20
    21
    22
    23
    24
    25
    26
    27
    #include <iostream>
    #include <libcurl3>
     
    using namespace std;
     
    int main()
    {
        # =============================================================== Initialisation du serveur IMAP
        CURL *curl;
        CURLcode res = CURLE_OK;
     
        curl = curl_easy_init();
        if(curl) {
     
            curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
            curl_easy_setopt(curl, CURLOPT_PASSWORD, "password");
     
            /*
            This will fetch message 1 from the user's inbox.
                Note the use of imaps:// rather than imap:// to request a SSL based connection.
            */
            curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.free.fr/INBOX/;UID=1");
     
            cout << "Hello world!" << endl;
        }
        return 0;
    }
    Ou alors, faut-il installer une version spécifique de curl dans le répertoire de mon source, du coup, c'est dommage

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par défaut
    Il faut installer les paquets de développement (ceux avec -dev en suffixe): libcurl4-gnutls-dev.
    Et les includes sont plus de la forme <curl/curl.h>.

  3. #3
    Membre éclairé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Par défaut
    Bonjour,
    merci jo_link_noir, cela répond à la question stricto sensu.
    Cela dit, cela me pose d'autres questions,
    pourquoi la bibliothèque doit être une dev, une façon d'être compilée (ou pas)
    pourquoi l'adresse est curl/curl.h (ça, je crois avoir trouvé, c'est l'adresse /usr/include/curl/ qui est utilisée, ça a l'air cohérent avec la logique linux)
    etc ...
    mais je vais fouiller sur les forums linux, c'est sans doute une longue histoire
    merci encore.
    Olivier

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    la version dev des bibliothèques installe la version standard (c'est à dire le binaire qu'utilise les programmes compilés), mais aussi les .h, la documentation (en général), parfois des exemples, etc. C'est à dire le matériel requis pour compiler du code source voulant utiliser cette bibliothèque.

    Bref, le curl.h n'est fourni que par libcurl-dev

    Quant à <curl/curl.h>, c'est parce que les mainteneurs de la bibliothèque ont fait le choix de regrouper leurs en-têtes dans un dossier.

    ce chemin relatif est recherché au bout de chaque chemin d'inclusion connu par le compilateur (en général, /usr/include et /usr/local/include)

  5. #5
    Membre éclairé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Par défaut
    Voilà, ca complète ma question
    Merci de tes lumières, leternel
    ce n'est pas une incantation bien sûr :-)
    Olivier

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Dommage, ca serait plus marrant

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

Discussions similaires

  1. type d'accées IMAP
    Par jowelle dans le forum Sécurité
    Réponses: 2
    Dernier message: 18/02/2014, 06h24
  2. XE3 Indy - accès email yahoo avec IMAP+SSL ?
    Par sbadecoder dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/01/2013, 09h16
  3. [Windows]accès base de registre windows
    Par Greg01 dans le forum API standards et tierces
    Réponses: 27
    Dernier message: 05/06/2007, 15h14
  4. Exécution indivisible (accès conccurent)
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 23/07/2002, 08h09
  5. Accès à une application ouverte (OLE Automation ?)
    Par PascalB dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/06/2002, 14h39

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