OVH Cloud OVH Cloud

Demande d'aide pour l'utilisation de l'API cURL

11 réponses
Avatar
Whaouu
Bonjour, =E0 tous,

Je d=E9sirerais utiliser l'API libcurl.dll fournis avec cURL pour
effectuer des transferts SFTP.

http://curl.haxx.se/libcurl/

Quelqu'un a-t-il d=E9j=E0 utiliser cette API ?

Dans l'affirmative est-il possible d'avoir un exemple de code ?

Merci d'avance pour toute aide.

1 réponse

1 2
Avatar
phig
a écrit :
Merci Moua pour la commande ChaîneRécupère.

Mais il semble que cela soit plus complexe pour lire les données.

Pour le moment mon code ressemble à ça :

//
**************************************************************************************** //

// curl_init_flag
nCURL_GLOBAL_NOTHING est un entier = 0
nCURL_GLOBAL_SSL est un entier = 1
nCURL_GLOBAL_WIN32 est un entier = 2
nCURL_GLOBAL_ALL est un entier = 3
nCURL_GLOBAL_DEFAULT est un entier = 3

// CURLoption
nCURLOPT_ERRORBUFFER est un entier = 10010
nCURLOPT_URL est un entier = 10002
nCURLOPT_VERBOSE est un entier = 41
nCURLOPT_WRITEDATA est un entier = 10001
nCURLOPT_WRITEFUNCTION est un entier = 20011

nEasyhandle est un entier = 0
nCURLcode est un entier système
sInfoRetour est une chaîne = ""

nCURLcode = AppelDLL32("libcurl", "curl_global_init",
nCURL_GLOBAL_ALL)
nCURLcode = AppelDLL32("libcurl", "curl_global_init",
nCURL_GLOBAL_WIN32)

nEasyhandle = AppelDLL32("libcurl", "curl_easy_init")

nCURLcode = AppelDLL32("libcurl", "curl_easy_setopt", nEasyhandle,
nCURLOPT_URL, "http://www.google.fr/")

sInfoRetour = ChaîneRécupère(nEasyhandle, crAdresseASCIIZ)

Trace(sInfoRetour)

AppelDLL32("libcurl", "curl_easy_perform", nEasyhandle)

AppelDLL32("libcurl", "curl_easy_cleanup", nEasyhandle)

//
**************************************************************************************** //

Le problème, c'est que je ne récupère strictement rien avec...

Je n'ai pas encore regardé du côté de NET car cela m'oblige à le
déployer sur les postes client ce que je voudrais éviter.

Il semble qu'il soit nécessaire d'utiliser CURLOPT_WRITEFUNCTION pour
lire les données comme je l'ai vue dans l'exemple suivant :

http://www.commentcamarche.net/forum/affich-9060910-un-prog-pour-lire-la-source-d-une-page-web?page=2

Voilà, en bref pour le moment ça avance, mais rien de concluant.



ca marche pas tout a fait comme ca ....
il manque le pointeur vers une chaine pour recuperer le header (
CURL_OPTWRITEDATA ) et mettre à null CURLOPTWRITEFUNCTION ...

j'ai systematiquement des GPF, et comme j'ai pas trop de temps ....
par contre, le .net n'a besoin d'etre déployé ...
il suffit d'importer l'asssemblage par atelier.. .net. .. utiliser un
assemblage et importer la dll... l'itere c'est que toutes les
déclarations sont dans l'assemblage...

ps : on peut continuer en pv et poster ici le resultat quand on aura
trouvé .... ca evitera un fils de 500 kms ;)
1 2