Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1290 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Parse d'une requette http

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parse d'une requette http

n°632631
EpoK
Let's burn
Posté le 05-02-2004 à 19:52:28  profilanswer
 

Bonjour, je doit faire un mini server http en C
 
donc la partie connection etc tout marche, je récupere la requete dans un buffer buff[512].
 
il faut que je parse
 
GET /bidulle/machin HTTP1.1
...
 
pour récupérer /bidulle/machin, et renvoyer la liste des fichiers du repertoire
 
mais je sais pas comment récupérer uniquement le chemin :/
 
je me suis laissé dire qu'il faut utiliser sscanf(..), mais le man ne pas bien embalé, si quelqu'un pouvait m'aider ...

mood
Publicité
Posté le 05-02-2004 à 19:52:28  profilanswer
 

n°632687
Taz
bisounours-codeur
Posté le 05-02-2004 à 20:21:31  profilanswer
 

pas de sscanf, c'est trop peu sure
 
 
repère les espaces, et coupe
ici, je coupe avec un '\0' à la place du deuxième espace, mais tu peux aussi dupliquer le morceau de chaine
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5.   char buffer[512];
  6.   while(fgets(buffer, sizeof buffer, stdin))
  7.     {
  8.       char *start = strchr(buffer, ' ');
  9.       char *end = NULL;
  10.       if(start)
  11. {
  12.   ++start;
  13.  
  14.   end = strchr(start, ' ');
  15.   if(end)
  16.   {
  17.     *end = '\0';
  18.   }
  19.   puts(start);
  20. }
  21.     }
  22. }

n°632739
EpoK
Let's burn
Posté le 05-02-2004 à 21:21:52  profilanswer
 

taz a écrit :

pas de sscanf, c'est trop peu sure
 
 
repère les espaces, et coupe
ici, je coupe avec un '\0' à la place du deuxième espace, mais tu peux aussi dupliquer le morceau de chaine
 


 
nickel je viens de faire un petit test c/c de ton code, c'est tout a fait ce que je cherche.
 
merci  :jap:


Message édité par EpoK le 05-02-2004 à 21:22:10
n°632741
Taz
bisounours-codeur
Posté le 05-02-2004 à 21:25:02  profilanswer
 

par contre j'espère que tu comprends bien que ça bout en l'air buffer

n°632748
EpoK
Let's burn
Posté le 05-02-2004 à 21:29:34  profilanswer
 

taz a écrit :

par contre j'espère que tu comprends bien que ça bout en l'air buffer


 
heu non je voi pas bien pourquoi ça le fou en l'air ...
 
en fait dans mon programme ca me dérange pas j'ai besoin que de cette info dans tout le buffer.
 
mais pourquoi ca le fout en l'air ?
 
edit :
 
a oui le *end = '\0';  non ?


Message édité par EpoK le 05-02-2004 à 21:30:26
n°632752
Taz
bisounours-codeur
Posté le 05-02-2004 à 21:32:43  profilanswer
 

oui, parce que ça coupe
tu veux que je te montre comment dupliquer le morceau intéressant ou ça ira ?

n°632757
EpoK
Let's burn
Posté le 05-02-2004 à 21:51:14  profilanswer
 

taz a écrit :

oui, parce que ça coupe
tu veux que je te montre comment dupliquer le morceau intéressant ou ça ira ?


 
ca ferra l'affaire, je n'ai besoin de rien d'autre dans mon buffer,  je voulait juste récuperer cette info, donc c'est bon.
 
encore merci  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Parse d'une requette http

 

Sujets relatifs
Mini serveur HTTP[Java] Sockets et http
[Python - Resolu - Soluce Inside] Serveur http, recuperation d'urlComment récupérer les codes de statut HTTP en ASP ?
Probleme de parse de XML JasperReportC# + SVG : problème de d'entête http : specialist wanted
parse error sur mon web.xml[Access / VB] Noob : comment lancer une requette parametree depuis VB?
afficher le contenu d'un requette SQL dans 1 DataGrid ou autre ?Forcer une authentification HTTP (ou autre solution ?)
Plus de sujets relatifs à : Parse d'une requette http


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR