recuperer une page web avec curl
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

recuperer une page web avec curl



  1. #1
    Farouk_king

    recuperer une page web avec curl


    ------

    Salut,

    Je voudrais récupérer une page web avec la librairie curl en C pour ensuite m’entraîner a la parser.
    J'essaie par exemple de télécharger la page www.google.com, avec ce code :
    Code:
    #include <curl/curl.h>
    #include <stdio.h>
    
    void main(void)
    {
    	FILE * fp;
    	CURL *session;
    
    	session = curl_easy_init();
    	curl_easy_setopt(session, CURLOPT_URL, "http://google.com");
    	fp = fopen("page.html", "a");
    	curl_easy_setopt(session,  CURLOPT_WRITEDATA, fp);
    	curl_easy_setopt(session,  CURLOPT_WRITEFUNCTION, fwrite);
    	curl_easy_perform(session);
    	fclose (fp);
    	curl_easy_cleanup(session);
    	getch();
    }
    Mais j'ai comme résultat dans ma page "page.html" :

    Code HTML:
    HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    
    <H1>301 Moved</H1>
    
    The document has moved
    
    <A HREF="http://google.com/">here</A>.
    
    
    </BODY></HTML>
    Comment ça se fait ? A quoi correspond l'erreur 301 Moved ?
    Comment faire pour récupérer directement la page de google, est-ce possible ?

    Merci d'avance pour vos réponses,

    -----

  2. #2
    invite4492c379

    Re : recuperer une page web avec curl

    Hello,

    Il faut suivre les redirections en ajoutant :
    Code:
      curl_easy_setopt(session, CURLOPT_FOLLOWLOCATION, 1);
    Ça devrait mieux fonctionner.

  3. #3
    Farouk_king

    Re : recuperer une page web avec curl

    Merci beaucoup c'est bien marché !!

    en fait je veux faire le parsing d'un fichier xml en c, donc j'ai utilisé la bibliotèque cURL pour télécharger la page web xml et faore le parsing du fichier en local. y'a t'il d'autre solution dans laquelle j'ai pas besoin d'écrire la page téléchargée dans un fichier et qu'elle reste dans un fichier temporaire par exemple dans lequel je fait le parsing ??

  4. #4
    invite4492c379

    Re : recuperer une page web avec curl

    Re-,

    Si tu ne veux pas avoir de fichier nommé mais un fichier temporaire il y a des fonctions pour ça dans la libc, par exemple :
    char * tmpnam (char *result)
    This function constructs and returns a valid file name that does not refer to any
    existing file. If the result argument is a null pointer, the return value is a pointer to
    an internal static string, which might be modified by subsequent calls and therefore
    makes this function non-reentrant. Otherwise, the result argument should be a pointer
    to an array of at least L_tmpnam characters, and the result is written into that array.
    It is possible for tmpnam to fail if you call it too many times without removing
    previously-created files. This is because the limited length of the temporary file names
    gives room for only a finite number of different names. If tmpnam fails it returns a
    null pointer.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Paramétrer la lecture d’une vidéo sur une page Web
    Par daniel100 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 21/01/2011, 19h00
  2. Page web incomplète avec Firefox
    Par cosak dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 05/09/2006, 20h15
  3. Retrouver une page Web.
    Par Antikhippe dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 05/12/2004, 15h35
  4. Page Web avec Word
    Par Tom-Tom dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 26/11/2004, 18h26
  5. incorporer une video avi dans une page web ?
    Par invite635440af dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 10/11/2003, 08h49