Bonjour,
je souhaite remplir un formulaire via un programme en C.
Puis récupérer le code source de la page apres l'envoie des données par formulaire.Ex. : Envoyer "php" sur google.fr et récupérer la premiere page des résultats pour la recherche "php".
J'ai pensé à Curl, mais je ne vois pas quelles fonctions utiliser...

J'ai réussi il y a quelques mois à le faire en php, mais la je souhaite vraiment le faire en C, s'il vous plait aider moi.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
 
#include <string.h>
 
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
 
int main(int argc, char *argv[])
{
CURL *curl;
CURLcode res;
 
 struct curl_httppost *formpost=NULL;
 struct curl_httppost *lastptr=NULL;
 struct curl_slist *headerlist=NULL;
 static const char buf[] = "Expect:";
 
 curl_global_init(CURL_GLOBAL_ALL);
 
 
 
    /* Fill in the filename field */
    curl_formadd(&formpost,
                &lastptr,
                CURLFORM_COPYNAME, "q",
             CURLFORM_COPYCONTENTS, "salut",
                CURLFORM_END);
 
 
   /* Fill in the submit field too, even if this is rarely needed */
    curl_formadd(&formpost,
                 &lastptr,
                 CURLFORM_COPYNAME, "btnG",
                 CURLFORM_COPYCONTENTS, "submit",
                 CURLFORM_END);
 
      curl = curl_easy_init();
   /* initalize custom header list (stating that Expect: 100-continue is not
       wanted */
    headerlist = curl_slist_append(headerlist, buf);
    if(curl) {
      /* what URL that receives this POST */
      curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.fr");
     if ( (argc == 2) && (!strcmp(argv[1], "noexpectheader")) )
       /* only disable 100-continue header if explicitly requested */
       curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
     curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
      res = curl_easy_perform(curl);
      printf("%s\n", res);
 
      /* always cleanup */
      curl_easy_cleanup(curl);
 
      /* then cleanup the formpost chain */
      curl_formfree(formpost);
/* free slist */
 curl_slist_free_all (headerlist);
 }
 system("PAUSE");
 return 0;
 }
ce code ne marche malheureusement pas, quelle variable me permettrait de récupérer le code source apres l'envoie des données ??

Merci d'avances amis développeurs,

Lapras