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 acceder et lire un site en PHP ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut Comment acceder et lire un site en PHP ?
    Bonjour,

    J'aimerais quelques indication sur le chemin a suivre pour :
    Accéder a un URL en HTTP, et récupérer des informations précise sur le code source (public) de l'URL.


    concrètement,

    j'aimerais coder une fonction capable d'acceder a une page HTTP donc l'URL contiendra une variable (ex : www.jesuisunpeon/="variable type int".com

    une foi fait, capable de récupérer( garce a certaines condition ?) des valeurs contenue dans le code source public ( valeur de type INT ).

    Merci,

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Tu dois bien comprendre que php n'est qu'un langage qui a pour objectif de créer des pages webs.

    Ce que fera PHP avec les différentes informations qui lui sont transmises, que ce soit au moyen de la méthode http GET ou au moyen de la méthode POST sera totalement caché à l'utilisateur.

    Tu peux donc parfaitement récupérer le contenu de la page que PHP aura généré, tout comme tu récupérerais le contneu de n'importe quelle page HTML, qu'elle soit statique ou générée par un langage quelconque, mais tu ne peux absolument pas espérer utiliser ce contenu pour récupérer la valeur d'une variable qui aura été transmise lors de la reqête HTTP qui a provoqué l'envoi de la page.

    Bon, allez, j'exagère peut être un tout petit peu dans le sens où il est possible de récupérer l'url appelée, mais, d'une certaine manière, ce ne serait que se faire du mal pour rien, dans le sens où, pour pouvoir récupérer le contenu de la page correspondant à une url, tu as -- forcément -- du générer / obtenir cette url "quelque part".

    Généralement, les informations qui sont transmise par la méthode GET apparaissent "tout simplement" après un point d'interrogagion "?" dans l'url que tu vas appeler sous la forme de nom_de_variable=valeur ou de nom_de_variable1=valeur1&nom_de_variable2=valeur2 (avec autant de nom de variable et de valeur que ce qui est nécessaire pour appeler l'url adéquate).

    Si tu n'as pas récupéré l'url toi-même (par exemple parce qu'elle est issue d'une entrée directe de l'utilisateur), tu peux déjà récupérer l'url de base en prenant la partie qui se trouve avant le point d'interrogation et les noms de variables, ainsi que leur valeur (sous la forme de chaines de caractères) en cherchant le signe = (ce qui se trouve à gauche est le nom de la variable, ce qui se trouve à droite est sa valeur) et le caractère & qui indique la séparation entre deux variables

    Pour ce qui est de la méthode POST, les différentes variables (généralement issues d'un formulaire) se trouvent dans les en-tête de la requête.

    Pour récupérer ce genre d'informations, tu devrais envisager de passer par une bibliothèque spécifique, comme boost.asio. Cela te simplifiera énormément la tâche
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut
    jpense que je me suis mal fait comprendre, par ce que 'jai rien comprit a ce que tu a dit , étant débutant en C++.

    Manuellement, sans programme on peut accéder a une page style www.peon.fr et d'un simple clic obtenir le code source de la page.


    Pareillement, avec un simple navigateur j’accède facilement a www.peon.fr/id=12354 que ce soit par un lien sur le site, ou en rentrant manuellement l'URL dans le navigateur.

    Je voudrais donc, effectuer un traitement semblable, ou qui donne le même résultat que la lecture d'un fichier .txt

    certes dans le second cas, je doit demander au serveur de m'envoyer la page
    www.peon.fr/id="Ma_variable".

    Je pense pas que ce soit tres compliqué a mettre en place..


    Merci,

  4. #4
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Hello,

    regarde du coté de boost asio, avec par exemple un tuto ici.

    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
    #include <iostream>
    #include <string>
    #include <sstream>
    #include <boost/asio.hpp>
     
    using boost::asio::ip::tcp;
     
    int main()
    {
    	int var = 42;
    	std::stringstream ss;
    	ss << "www.peon.fr/?id=" << var;
    	tcp::iostream s(ss.str(), "80");
     
    	std::string line;
    	while(std::getline(s, line)) {
    		std::cout << line << std::endl;
    	}
     
    	return 0;
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut
    Merci,

    je check !


    Important de signaler que la compatibilité Windows/linux est importante ?

    ty,

  6. #6
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Citation Envoyé par Peon6969 Voir le message
    Important de signaler que la compatibilité Windows/linux est importante ?
    Aucun probleme avec boost asio, c'est multi plateforme.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut
    A voire, un language plus adapté a mon programme serait peut etre plus appréciable.

    Avec les deux fonction décrite plus haut ( recuperation de variable dans une page HTTP )

    il devra simplement comparer les résultat de ces variable et retourner un bool.

    les trois informations seront stocké dans un Tableau, semblable a une structure
    exemple
    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
     
     
    void main(void){
    int =peon;
     
     
    struct Conteneur
    {
        int ID;
        string Date; // doit contenire une variable sous forme 12:54:28 21/12/2012
        string Last_D; // doit contenire une variable sous forme 12:54:28 21/12/2012
     
    };
    Conteneur Tab[int];
    }
    Puis divers fonctions afin d'utiliser Date et Last_D (les comparer et retourner un 1 si Date!=Last_D


    merci,

  8. #8
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Tu t'es en effet mal fait comprendre, dans le sens où tu semblais insister sur le fait que le site était en php, alors que cela n'a strictement rien à voir

    Comme je te l'expliquais (apparemment assez mal) dans ma première intervention, le contenu de la page renvoyée par un serveur n'a strictement aucun lien avec la technologie (PHP, java ou autre) qui a été utilisée pour "générer" le contenu de la page.

    Mon intervention précédente avais pour but de t'orienter vers des solutions qui te permettent de récupérer certaines informations qui sont envoyées au serveur afin de lui permettre de générer le contenu.

    Mais, si ce que tu veux, c'est pouvoir récupérer le contenu de la page, quelle que soit la manière dont le contenu a été généré, alors là, oui, cela devient très facile : tu crées l'url à appeler, et tu utilises une bibliothèque tierce comme boost.asio pour s'occuper de tout ce qui a trait à l'envoi de la requête et au traitement de la réponse effectuée par le serveur.

    Mais, si tu es débutant en C++, je te conseillerais sans doute de commencer par des projets "simples", qui n'utilisent pas de bibliothèques externes, histoire de t'habituer aux particularités du langage.

    L'utilisation d'une bibliothèque tierce n'est pas forcément particulièrement difficile, mais, autant avancer "par étapes"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment acceder a une base active directory par php???
    Par vincenttt dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 08/06/2007, 15h31
  2. Comment acceder directement a mon site
    Par jeha dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 15/05/2007, 11h50
  3. Réponses: 1
    Dernier message: 26/01/2007, 16h13
  4. [Tableaux] Comment agrandir un site en php
    Par rocket_270 dans le forum Langage
    Réponses: 10
    Dernier message: 31/12/2006, 12h15
  5. comment référencer un site en php ?
    Par zana74 dans le forum Langage
    Réponses: 1
    Dernier message: 21/09/2006, 17h30

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