begin process at 2012 05 28 22:00:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

communication entre spcket C++ et serveur wweb php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

communication entre spcket C++ et serveur wweb php

mercredi 5 janvier 2005 à 14:52:55 | communication entre spcket C++ et serveur wweb php

joeblack59

je souhaiterais arriver à me connecter à un serveur web en php avec un programme en C++. Je sais comment marche les sockets sous C++. Mais, on m'a dit qu'il fallait envoyer au serveur un header http pour que le serveur comprenne que le protocole est http. Mais je ne sais pas quelle forme prend le header http. Auriez-vous un exemple?
Et du coté du serveur, comment reçoit-il ce header? Il utilise un POST, un GET ou autre chose?
merci
jeudi 6 janvier 2005 à 22:15:38 | Re : communication entre socket C++ et serveur wweb php

meech

Membre Club
Salut,

Puisque tu sembles bien connaître la gestion des sockets en C/C++, je me passe de tout commentaire, d'autant plus que tu peux trouver un bon nombre de codes sur ce site.

Concernant une requête HTTP simple, tu peux faire un essai facile en ouvrant une console telnet. Par exemple :
telnet www.google.fr 80
GET / HTTP/1.1 (puis un retour chariot)
Host:
www.google.fr
(puis deux retours chariots)

S'affichera alors la page html demandée. Voici l'une des plus simplistes structures de requêtes http. Bien sûr, les navigateurs adressent beaucoup de paramètres, comme par exemple les mime-types acceptés (en gros, les types de fichiers) ou le type de navigateur...

Dans l'exemple ci-dessus :
1. la commande telnet établit une connexion vers le serveur google.fr port 80.
2. tu réalises ensuite une requête vers le / (après le nom de domaine), c'est-à-dire la racine du site, en utilisant la méthode GET et la version 1.1 du protocole HTTP.
3. tu spécifies le nom de domaine par l'attribut "Host:". Cet argument est parfois (voire souvent) nécessaire puisqu'il est possible de spécifier à un serveur (comme Apache ou IIS) l'obligation de ne répondre que sur tel ou tel nom de domaine.

En espérant t'avoir aidé un peu, je te laisse avec ce lien qui explique succintement les bases des requêtes clientes HTTP : [ Lien ]

Plus précis, une traduction française de la RFC du protocole HTTP : [ Lien ]

Enfin, la RFC 2616 officielle du protocole HTTP/1.1 : [ Lien ]

Bien amicalement.
jeudi 6 janvier 2005 à 22:18:28 | Re : communication entre spcket C++ et serveur wweb php

meech

Membre Club
J'oubliais : en résumé, dans ton code C/C++ tu dois envoyer, une fois ta connexion établie par socket, une chaîne de ce genre :
char query[] = "GET / HTTP/1.1\r\n"
                          "Host: www.google.fr\r\n\r\n";


A +.
jeudi 6 janvier 2005 à 22:30:51 | Re : communication entre spcket C++ et serveur wweb php

meech

Membre Club

Désolé pour la fin de ta question, j'avais zappé... En fait, le serveur reçoit l'ensemble de la requête et, si cette dernière est valide, il retourne la page correspondante à celle que tu as demandé et ce, en fonction des paramètres passés.

Les méthodes GET ou POST ne sont qu'à usage du client (du navigateur). Elles permettent simplement de fournir au serveur des paramètres qu'il peut éventuellement prendre en considération pour te fournir des pages dites dynamiques (par opposition aux pages statiques, comme les fichiers html ou texte).

Ces pages dynamiques sont générés par des interpréteurs (ou des programmes dans le cas des CGI), lesquelles traitent les paramètres passés par le client via méthode GET ou POST.

En gros, la méthode GET passe les paramètres dans l'url (tu sais, ce qu'il y a après le point d'interrogation dans la barre d'adresse) alors que la méthode POST cachent ces informations (non-visibles dans la barre d'adresse).

En tout cas, la réponse du serveur fait fi de ces méthodes : cette réponse, pour qu'elle soit valable, nécessite elle-aussi un respect scrupuleux de normes diverses. Elle ressemble, simplifié, à ce qui suit :

HTTP/1.1 200 OK 
(version_du_protocole code_retour_http message_retour)
Content-Type: text/html (attribut: type de la réponse fournie au client)
(toujours le coup des deux sauts de ligne, puis)
<html>
<body>
contenu de la page
</body>
</html>


Toujours pareil, cet exemple est minimaliste et il existe bien d'autres attributs (cf. RFC précédemment citées) Si tu as d'autres questions, n'hésite pas
.



Cette discussion est classée dans : php, serveur, http, communication, header


Répondre à ce message

Sujets en rapport avec ce message

Communication avec un serveur apache en c++ [ par naycos ] Bonjour,je souhaite ecrire un programme en c++ (avec Visual Studio 6), pour windows XP, qui va travailler avec un serveur apache basé sur une mandriva Création d'un serveur HTTP compatible PHP [ par amoweb ] Je suis entrain de faire un serveur HTTP avec MinGW (sous Windows...) et j'aimerais le rendre compatible PHP.Il permet déjà de lancer les scripts avec Serveur HTTP [ par junior31490 ] Bonjour,Je recherche un peu dans l'urgence un serveur http ultra simple d'utilisation (metthode run, une méthode stop, pas bcp plus complexe) permetta envoyer un flux avec http [ par ebooserge ] salut a tous,voila je suis en train de faire un petit serveur http qui execute des requetes en local.pour l'affichage des pages html simples (sans pho multithread <=> Server (http/ftp/....) [ par wizard512 ] Bonsoir,je souhaiterais savoir si quelqu'un aurait des docs,ou des urls afin d'apprendre a créer un serveur supportantle multithreading.....Dura MSDN pour linux ça existe ? [ par Booster ] Bonjour à tous,Tout est dans le titre je cherche depuis maintenant plus d'une heure une msdn pour linux enfin du moins un site qui reference toutes le Soap et HTPPS [ par albanovisch ] Bonjour à tous, je voudrais réaliser une communication SOAP avec un serveur distant utilisant le https. Dans une communication simple via le protocle File de messages [ par samplaid ] Bonjour, Voici mon problème, j'ai plusieur client et un serveur. Chaque client se connecte a un canal de communication (avec la meme clé). Je passe u socket client (php) vers serveur (c++) [ par suleyman ] bonjour, je suis debutant, je nai jamais programmer une socket et jaimerai avoir le code source ainsi que les commentaires dune socket client et serve http...header and content... [ par DevGizmo ] Bonjour tout le monde...Je fais une requete http (1.1) sur un serveur; lorque je recois la reponse de celui-ci il me renvoi le header + le contenu de


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales