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

Développement Discussion :

récuperer contenu page web en c


Sujet :

Développement

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 9
    Points
    9
    Par défaut récuperer contenu page web en c
    Salut je suis débutant en c et je voudrai faire un programme qui récupère des infos sur une page web pour les mettre dans un fichier texte.
    Pour préciser je voudrais avoir les cours du cac40 en temps réél dans un fichier texte
    par exemple récuperer les cours de cette page http://www.boursorama.com/cours.phtml?symbole=1rPCAC
    je ne sais pas quelles sont les fonctions C qui pourraient me permettre de faire ça merci de m'éclairer

  2. #2
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Euh moi dans ton cas, j'utiliserais les sockets. Tu te connectes au site, tu effectues une requête GET et après, faudra parser la page pour récupérer la valeur que tu veux

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    oui merci c 'est ce que j'ai fait mais la requete http ne marche pas j'ai un "bad request 400"
    j'ai utilisé winsock pour faire un client de base mais je n'arrive pas a avoir le contenu de la page web:

    c en ligne de commande si je tape la requette quand je suis connecté:
    get www.boursorama.com

    Serveur: HTTP/1.1 400 Bad Request
    Serveur: Date: Wed, 25 Apr 2
    Serveur: Server: Apache
    get www.boursorama.com HTTP/

    Serveur: HTTP/1.1 400 Bad Request
    Serveur: Date: Wed, 25 Apr 2
    Serveur: Server: Apache

  4. #4
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Fais "GET / HTTP/1.0\n\n" (où "\n" désigne le saut de ligne) et non ce que tu fais
    Si tu veux plus d'information, documente toi sur le protocole HTTP

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    voila un autre code :
    #include <iostream.h>
    #include <iomanip.h>
    #include <fstream.h>
    #include<winsock.h>
    #pragma comment(lib, "ws2_32.lib")

    int main()
    {
    WSADATA WSAData;
    WSAStartup(MAKEWORD(2,0), &WSAData);

    SOCKET sock;
    SOCKADDR_IN sin;

    char buffer[1024];
    char canal[50] = "GET / HTTP/1.0\nAccept: text/html\n\n";
    ofstream log("protsock.log"); // fichier pour enregistrer les données reçues.


    sock = socket(AF_INET, SOCK_STREAM, 0);

    sin.sin_addr.s_addr = inet_addr("81.25.196.136");
    sin.sin_family = AF_INET;
    sin.sin_port = htons(80); // port HTTP.

    connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le site web.
    send(sock, canal, strlen(canal), 0); // on envoie la requête HTTP.
    int i = recv(sock, buffer, sizeof(buffer), 0); // le buffer récupère les données reçues.


    if (i != 0) // si le buffer reçoit des données.
    {
    log << buffer << endl; // enregistrement des données dans le fichier.
    }

    closesocket(sock); // on ferme le socket.
    WSACleanup();
    }


    le fichier crée n'affiche pas le contenu de la page mais seulement ça

    HTTP/1.1 302 Found

    Date: Tue, 24 Apr 2007 07:25:38 GMT

    Server: Apache

    Vary: Accept-Encoding,U

    location: http://www.boursorama.com/

    Connection: close

    Content-Type: text/html



    ý0

Discussions similaires

  1. modifier contenu page web par plugin
    Par wanecque dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/01/2009, 21h02
  2. récuperer une page web en java
    Par hélvète dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 30/04/2008, 22h02
  3. Lien modifiant contenu page web - Javascript
    Par annekeuss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/03/2007, 18h10
  4. Contenue Page web
    Par kikouu dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 30/07/2006, 17h47
  5. Récuperer Titre page web en cours!!!
    Par GeDeon35 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 31/05/2005, 23h26

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