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

 C Discussion :

Comment récupérer la valeur d'une page WEB ?


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut Comment récupérer la valeur d'une page WEB ?
    Bonjour tout le monde, je suis en train de faire un petit programme "test" qui consiste à prendre la valeur d'une page WEB, en quelques sortes j'aimerais pouvoir stocker dans une variable un nombre affiché sur un site WEB...
    Je ne sais pas si je suis très clair.
    J'ai regardé les différents tuto sur les Socket et le réseau mais je n'ai rien trouvé.
    Voilà, si quelqu'un peu m'aider, que ça soit juste me donner un tuto en français de préférence ^^

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Bonjour,

    Citation Envoyé par jurams Voir le message
    Bonjour tout le monde, je suis en train de faire un petit programme "test" qui consiste à prendre la valeur d'une page WEB, en quelques sortes j'aimerais pouvoir stocker dans une variable un nombre affiché sur un site WEB...
    Je ne sais pas si je suis très clair.
    Est-ce que tu cherches à t'exercer en langage C en particulier ou à récupérer cette valeur quelque soit la manière ? Car dans le second cas, le C n'est pas ce qu'il y a de plus facile pour cela. Ensuite, est-ce que tu récupères ta page par un moyen externe ou est-ce également ton programme qui doit le faire ?

    Si tu veux faire en sorte que ce soit ton programme C qui mène toute l'opération de A à Z, il faut effectivement :

    1. Commencer par ouvrir une connexion vers le serveur web de ton choix. Ça se fait avec les sockets. Regarde les articles en tête du forum « C → Réseau » ;
    2. Envoyer une requête HTTP pour la recevoir. Il faut donc gérer un minimum le protocole HTTP pour ce faire. Cela dit il te suffit d'émettre "GET /aubonendroit/mapage.html HTTP/1.0\n\n" pour la recevoir ;
    3. Enregistrer dans un buffer ce qui t'est renvoyé par le serveur, jusqu'à ce qu'il referme la connexion (on passe sur les statuts keep-alive et autres) ;
    4. De là, utiliser une expression régulière pour retrouver le motif qui t'intéresse et l'isoler ;
    5. Utiliser strtol() pour convertir la valeur représentée par la chaîne en entier numérique natif.


    Si tu veux t'épargner les points 1, 2 et 3, tu peux jeter un œil à la libCurl.

    Bon courage.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Merci pour cette réponse bien détaillé.
    Est-ce que tu cherches à t'exercer en langage C en particulier ou à récupérer cette valeur quelque soit la manière ? Car dans le second cas, le C n'est pas ce qu'il y a de plus facile pour cela.
    Oui je cherche vraiment à m'exercer en C, donc je préfaire développer en entier ce programme.

    Ensuite, est-ce que tu récupères ta page par un moyen externe ou est-ce également ton programme qui doit le faire ?
    "Moyen externe" c'est à dire ?

    Sinon je suis justement en train de lire les premiers articles du forum Réseaux, après avoir fini je vais donc essayer de suivre les étapes que tu m'as écrites.
    Je donnerais des nouvelles de mon avancement surtout si j'ai des erreurs dans mon code.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Depuis que j'ai fini de lire les Tuto sur les Réseaux, je me suis lancé mais j'ai un problème : mon compilateur me signale plusieurs erreurs...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ||=== Reseaux, Debug ===|
    obj\Debug\main.o||In function `main':|
    undefined reference to `WSAStartup@8'|
    undefined reference to `socket@12'|
    undefined reference to `inet_addr@4'|
    (ect ect ect)
    ||=== Build finished: 10 errors, 0 warnings ===|
    Quelqu'un serait-il d'où viens toutes ces erreurs ?
    J'ai bien le fichier winsock2.h, j'utilise code::block.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Il faut aller dans Project / Build Options / Linker Setting et ajouter la fichier .a qui va bien :
    C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a
    ou
    C:\Program Files\CodeBlocks\MinGW\lib\libwsock32.a
    (chemin à adapter bien sûr)

    Avoir le fichier .h dans son code permet à la compilation de fonctionner, mais il faut indiquer au linker le fichier contenant le corps des fonctions.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Merci encore, sinon j'ai avancé dans mon code et je ne sais pas vraiment comment me connecter à une page web pour avoir son contenue dans un fichier...

    J'imaginais qu'il fallait faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                server.sin_family       = AF_INET;
                server.sin_addr.s_addr  = inet_addr("http://www.developpez.net");
                server.sin_port         = htons(80);
                memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
    Mais ça n'a pas l'air de fonctionner

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par jurams Voir le message
    J'imaginais qu'il fallait faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                server.sin_family       = AF_INET;
                server.sin_addr.s_addr  = inet_addr("http://www.developpez.net");
                server.sin_port         = htons(80);
                memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
    Mais ça n'a pas l'air de fonctionner
    C'est comme cela qu'il faut faire, mais ce n'est pas suffisant.

    Ce que tu écris définit l'adresse du serveur cible. Il faut ensuite utiliser connect() pour s'y connecter, en gérant les erreurs éventuelles.

    Une fois connecté, il faut ensuite dialoguer avec le serveur pour qu'il te renvoie la page que tu souhaites. Ça demande de connaître le protocole HTTP, mais envoyer un « GET … » comme décrit ci-dessus devrait suffire. Cela dit, il faut gérer d'une part les éventuelles erreurs de transmission au niveau du C et, d'autre part, les possibles messages d'erreurs renvoyés par le serveur lui-même, à commencer par « HTTP/1.? 404 Not Found » s'il ne connaît pas la page que tu lui demandes.

    Enfin, le contenu de la page réclamée ne sera pas directement stockée dans un fichier mais te sera retournée par le même biais : à travers le socket. C'est à toi de lire tout ce qui en provient, de le stocker dans un fichier si c'est ce que tu veux faire, et de détecter la fin de la transmission.

    C'est pas forcément difficile quand on a compris le principe, mais c'est effectivement un travail à faire, qui est celui que tous les programmes exécutent lorsque tu appelles une page web depuis un navigateur ou tout autre application (y compris les web services SOAP).

  8. #8
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Merci encore, j'ai donc rajouté la fonction connect()

    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
        WSADATA wsaData;
     
        if (WSAStartup(MAKEWORD(2, 0), &wsaData) != 0)
            fprintf(stderr, "La fonction WSAStartup a echoue.\n");
        else
        {
            SOCKET s;
     
            s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
            if (s == INVALID_SOCKET)
                fprintf(stderr, "La fonction socket a echoue.\n");
            else
            {
                SOCKADDR_IN server;
     
                server.sin_family       = AF_INET;
                server.sin_addr.s_addr  = inet_addr("http://www.developpez.net");
                server.sin_port         = htons(80);
                memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
     
     
     
     
                if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)//Si la connection a échouée message d'erreur
                    fprintf(stderr, "\nLa fonction connect a echoue.\n");
                else
                {
     
                    char buffer[1000];//tableau qui permet de stocker les données reçus par le serveur
                    int n;
     
                    n = recv(s, buffer, sizeof(buffer) - 1, 0);
     
                    if (n != SOCKET_ERROR)
                    {
                        buffer[n] = '\0';
                        printf("%s", buffer);//affiche les données reçus
     
                    }
     
                    shutdown(s, SD_SEND);
                }
     
                closesocket(s);
            }
     
            WSACleanup();
        }
     
        return 0;
    }
    Mais il y a une erreur lors de la tentation de connexion.

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par jurams Voir le message
    Mais il y a une erreur lors de la tentation de connexion.
    Laquelle ?

    C'est à toi de le déterminer.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    C'est la fonction connect qui ne fonctionne dans mon code.

  11. #11
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par jurams Voir le message
    C'est la fonction connect qui ne fonctionne dans mon code.
    On le sait bien que c'est la fonction connect() qui ne marche pas, voyons. Sauf que « ça marche pas » n'est pas en soi une réponse admissible sur un forum.

    Cela s'appelle du déboguage et cela fait partie intégrante du métier de programmeur, surtout que toi, tu te donnes justement tout ce mal pour l'exercice, ce qui est tout à ton honneur.

    Donc, si connect() te répond « ça ne marche pas », c'est forcément qu'elle te donne plus d'indications sur le pourquoi de la chose ailleurs, ou qu'elle considère implicitement que tu sais déjà où regarder. Voici la man page de connect() : http://man.developpez.com/man2/connect.2.php

    Qu'y lis-tu ? Quels sont les passages consacrés aux traitements des erreurs et quelles informations te donnent-ils ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Le problème c'est que mon programme se lance, donc mon compilateur ne me signal pas d'erreurs.
    Je peut seulement savoir que la fonction connect "a échouée", dans les log du debug j'ai seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Checking for existence: C:/doc/code::block/projet/test
              Executing: "C: ............/...../.....
              Process terminated with status 0 (0 minutes, 21 seconds)
    Merci encore.

  13. #13
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par jurams Voir le message
    Je peut seulement savoir que la fonction connect "a échouée",
    C'est normal puisque c'est ce que tu as écrit !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (s == INVALID_SOCKET)
                fprintf(stderr, "La fonction socket a echoue.\n");

    dans les log du debug j'ai seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Checking for existence: C:/doc/code::block/projet/test
              Executing: "C: ............/...../.....
              Process terminated with status 0 (0 minutes, 21 seconds)
    Ton programme est correct à la compilation et ne plante pas à l'exécution. C'est ta fonction connect() qui échoue pour une des raisons données dans la man page. Si tu n'écris rien dans le log, il n'y a pas de raison que quelque chose de neuf y apparaisse spontanément.

    Je te repose donc ma question précédente, avec un indice : que lis-tu dans la section « valeur renvoyée » de la man page en question ?

    Et puisque tu es sous Windows, jette aussi un œil à ceci : http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

  14. #14
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Merci pour l'indice ^^
    Donc je pense que j'ai compris.
    Les erreurs de la fonction sont dans la variable errno, donc pour savoir où ça ne va pas, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Errno %d, %s\n", errno, strerror (errno) ) ;//affiche la valeur de errno et son "message"
    J'ai 34 comme résultat, et "result too large" cela veut dire que les données sont trop nombreuses, trop lourdes, sinon je n'arrive pas à afficher l'erreur dont il s'agit avec cette liste : http://man.developpez.com/man2/connect.2.php#L4
    Pourtant j'ai essayé de faire une condition pour chaque erreur, par éxemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(errno==EBADF)
    printf("Mauvais descripteur.");
    Mais il y avait une erreur "fonction non définit"
    cordialement

  15. #15
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Voila. C'est effectivement la bonne méthode. Malheureusement, tu travailles sous Windows et je ne suis pas certain que l'OS maintienne la variable errno, même dans ce contexte précis.

    Du coup, utilise plutôt WSAGetLastError() pour obtenir un code dont tu es sûr qu'il sera valable :

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

  16. #16
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)//Si la connection a échouée message d'erreur
                {
                    fprintf(stderr, "\nLa fonction connect a echoue.\n");
                    errnr = WSAGetLastError();
                    printf("error %d", errnr);
                }
    J'ai enlevé le "printf("Errno %d, %s\n", errno, strerror (errno) ) ;"
    et remplacé comme tu me l'as conseillé par "WSAGetLastError()".
    Y a t-il un moyen plus rapide que de faire la condition avec 19 erreurs possible ?

  17. #17
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par jurams Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     if (connect(s, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)//Si la connection a échouée message d'erreur
                {
                    fprintf(stderr, "\nLa fonction connect a echoue.\n");
                    errnr = WSAGetLastError();
                    printf("error %d", errnr);
                }
    J'ai enlevé le "printf("Errno %d, %s\n", errno, strerror (errno) ) ;"
    et remplacé comme tu me l'as conseillé par "WSAGetLastError()".
    Ok, quelle valeur obtiens-tu ?

    Y a t-il un moyen plus rapide que de faire la condition avec 19 erreurs possible ?
    Malheureusement, si toutes ces erreurs sont énoncées dans la page concernée, c'est qu'elles peuvent toutes se produire, et dans des conditions qui leur sont propres à chacune.

    Cela dit, tu dois pouvoir rassembler bon nombre d'entre elles dans un bloc unique en leur appliquant un traitement commun. Tu peux aussi choisir de mettre fin au programme lorsque tu rencontres une erreur que tu ne prends pas explicitement en charge, comme tu le fait actuellement.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    Voila, j'ai enfin l'erreur, donc c'est : WSAEADDRNOTAVAIL
    Si je traduit bien ça me dit que l'adresse à distance n'est pas valide...
    Je pense que ça viens de ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                SOCKADDR_IN server;
     
                server.sin_family       = AF_INET;
                server.sin_addr.s_addr  = inet_addr("http://www.developpez.net");
                server.sin_port         = htons(80);
                memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
    Edit : cela viens t-il du port ou de l'adresse ?
    J'ai mis le port 80 car j'ai lu qu'en général c'est le port utilisé par les serveur de site WEB.

  19. #19
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    En effet, il faut virer « http:// » qui ne fait pas partie du nom de la machine-cible.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2011
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    même en l'enlevant j'ai toujours la même erreur, peut-être qu'il faut que je donne
    l'adresse IP directement du site et non pas sous forme de caratères.

    Edit : J'ai mis l'adresse IP à la place et ça fonctionne. Pour l'instant ça donne rien, "<null>" à la fin de mon programme.
    Que se passe t-il ?
    Le tableau buffer devrait contenir les "données" du site mais apperrement d'après le printf qui affiche la valeur, il n'y a rien de stocker dessus...

    REEDIT: en fait ça ne sert à rien de faire la variable buffer, je ne veut pas surveiller le serveur je veux juste afficher une page, c'est la que je doit dois faire la requête GET non ? Par contre je n'ai pas compris comment se servir de cette requête, ou les données seront renvoyé, dans une variable (tableau) ? Fichier ?
    Merci

Discussions similaires

  1. Comment récupérer l'affichage d'une page WEB
    Par chould dans le forum VB.NET
    Réponses: 5
    Dernier message: 18/05/2013, 00h56
  2. Récupérer des valeurs dans une page WEB
    Par megamario dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2011, 14h05
  3. récupérer des valeurs sur une page web
    Par houwa dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2008, 14h27
  4. Réponses: 7
    Dernier message: 14/04/2007, 17h25

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