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++Builder Discussion :

idhttpserver bc6 chaine ajoutée


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut idhttpserver bc6 chaine ajoutée
    Bonjour

    J ai un traitement et je génère une page html qui est conforme à mes souhaits .

    J ai un souci , à l affichage dans firefox par exemple , le composant insère en fin de page :

    HTTP/1.1 200 OK Server: Indy/8.0.25 Content-Type: text/html

    J ai essayé de m en débarrasser avec du replace en javascript mais rien n y fait , cette chaîne est ignorée . En effet quand j ouvre mon fichier html , elle n apparait pas .

    Avez vous rencontré ce problème ?

  2. #2
    Membre actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Points : 242
    Points
    242
    Par défaut
    Citation Envoyé par cedni Voir le message
    HTTP/1.1 200 OK Server: Indy/8.0.25 Content-Type: text/html
    Bonjour Cedni,

    heu je dis ça de tête mais c'est pas plutôt le header ça ?

    Est-ce que ce n'est pas simplement que le header est envoyé deux fois ou qu'il n'est pas supprimé comme il devrait l'être une fois la réception faite par le navigateur ?

    Il apparait à la fin peut-être simplement à cause de la mise en page, peux-tu copier coller le source html que tu reçois par le navigateur (afficher la source) ? on y voit parfois plus de choses qui n'apparaissent pas autrement et ça m'aiderait à mieux comprendre ton problème je pense.

    En gros un serveur Indy http envoie une page à un firefox et à la sortie il y a ce "HTTP/1.1 200 OK Server: Indy/8.0.25 Content-Type: text/html " de rajouté alors qu'il ne devrait pas y être, c'est cela ou je fais fausse route ?
    Désolé, on savait pas que c'était impossible, alors on l'a fait

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Tout à fait

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    
    "http://www.w3.org/TR/html4/loose.dtd">     
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" > <title>Données</title>
      <META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://127.0.0.1:80/index.htm">    
    </head>  <body onload="remplacer();"><font size="2"><center>
    <table border="1" color="#000000"><tr><td>&nbsp;Heure<td align="right">
    13:21:16
    &nbsp;<tr><td>&nbsp;Date<td align="right">
    06/03/2012
    &nbsp;<tr><td>&nbsp;Uptime<td align="right">
    05:33:37
    &nbsp;<tr><td colspan="2"><center>Network<tr><td>&nbsp;Dl<td align="right">   
    266.5
     Ko.s<sup>-1</sup>&nbsp;<tr><td>&nbsp;Up<td align="right">   
    25.5
     Ko.s<sup>-1</sup>&nbsp;<tr><td colspan="2"><center>Cpu<tr><td>&nbsp;Usage<td align="right"> 
    12
     %&nbsp;<tr><td>&nbsp;Tempèrature<td align="right"> 
    39
     °C&nbsp;<tr><td colspan="2"><center>Memory<tr><td>&nbsp;Ram Free<td align="right">
    5786
     Mo&nbsp;<tr><td>&nbsp;Swap Free<td align="right">
    6089
     Mo&nbsp;<tr><td colspan="2"><center>Gpu<tr><td>&nbsp;Usage<td align="right">
    0
     %&nbsp;<tr><td>&nbsp;Tempèrature<td align="right"> 
    38
     °C&nbsp;<tr><td>&nbsp;Fan<td align="right">
    1560
     Rpm&nbsp;<tr><td>&nbsp;Mèmoire vidéo&nbsp;<td align="right">&nbsp;
    182
     / 
    768
     Mo&nbsp;
    <tr><td colspan="2"><center>Hard disks
    <tr><td>&nbsp;C:<td align="right">&nbsp;
    4,69
     / 
    59
     Go&nbsp;
    
    <tr><td>&nbsp;S:<td align="right">&nbsp;
    3,91
     / 
    37
     Go&nbsp;
    </td></table><br></body></html>
    HTTP/1.1 200 OK
    Server: Indy/8.0.25
    Content-Type: text/html
    Mon programme génère ma page sans la portion en rouge , celle-ci apparaît une fois chargée dans le navigateur*.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Tu confonds HTML et HTTP !
    C'est deux niveaux de protocole différents !
    Un serveur HTTP renverra toujours cette mention ou alors des erreurs comme "HTTP/1.1 404 Not Found‎"

    La chaine est bien envoyée par le serveur HTTP en Indy mais cet élément ne fait pas parti du HTML.
    C'est comme les poupées russes matriochkas,
    la plus externe, la plus grande, c'est la couche liaison (en vulgarisant c'est l'@ MAC), qui contient Header1+Data1+Footer1, l
    Puis tu as la couche réseau (IP), Data1= Header2+Data2+Footer2
    Ensuite, la couche transport (TCP), encore une fois Data2= Header3+Data3+Footer3,
    ... jusqu'au couche présentation\application MIME et HTTP,
    et enfin cela donne le HTML est qui la Data la plus interne des couches

    Par contre, ce qui est étrange, c'est que le HTTP devrait être au début, AVANT le HTML !

    Comme Argol_Medusa, j'ai l'impression que cela envoie deux fois le Header, comme ci, il y avait deux pages générées et que l'on voit le Header de la seconde mais pas son contenu, très étrange !

    As-tu essayé d'autres navigateurs ?
    As-tu installé des plugin comme Web Developer, FireBug qui affiche ce genre d'élement pour aider au développement
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Non je confonds pas les deux

    Il ajoute bel et bien ces lignes dans le code source qu il envoye au navigateur puisque la source fraichement construite ne les contient pas

    Etrange

    Pareil avec IE et non pas de firebug

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Il suffit de rajouter

    ResponseInfo->WriteHeader();

  7. #7
    Membre actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Points : 242
    Points
    242
    Par défaut
    Citation Envoyé par cedni Voir le message
    Il suffit de rajouter

    ResponseInfo->WriteHeader();
    Ha oui, effectivement.
    Par contre vérifie quand même en mettant des points d'arret dans les events ou directement avec un sniffer de frames genre wireshark que tes frames sont corrects.

    Mais sinon comme l'a dit ShaiLeTroll installes firebug ou équivalent car quand on développe mi-C++ mi-web, on sait jamais d'où vient le problème, le navigateur affichant parfois des choses bonnes, mais avec du source bancale ou avec des choses manquantes / en trop qui passent parfois inaperçu.


    Sinon question : tu as réussi à procéder à des lectures de cookies et écriture ?

    J'avais réussi à faire la lecture firefox vers serveur mais pas à faire l'écriture, la librairie INDY a une documentation plus qu'imprécise concernant l'utilisation de ce point.

    Donc si tu as réussi je suis preneur de l'info !!
    Désolé, on savait pas que c'était impossible, alors on l'a fait

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    En fait j ai pas besoin des cookies

    Mais je regarderais lorsque j aurais le temps

  9. #9
    Membre actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Points : 242
    Points
    242
    Par défaut
    Citation Envoyé par cedni Voir le message
    En fait j ai pas besoin des cookies

    Mais je regarderais lorsque j aurais le temps
    Pas de problème, je vais ressortir mon code serveur de mon coté pour voir exactement où je m'étais arrêté ( je crois que j'avais contourné le problème en faisant l’authentification par cookie en PHP + apache) .

    Si tu tombes par hasard sur le sujet des cookies et sessions en INDY n'hésites pas à me dire si réussi à faire quelque chose avec.

    Merci d'avance Cedni !!
    Désolé, on savait pas que c'était impossible, alors on l'a fait

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

Discussions similaires

  1. Ajouter des caractères au milieu d'une chaine
    Par sam.fet dans le forum Linux
    Réponses: 9
    Dernier message: 17/08/2006, 12h19
  2. ajouter une variable à une chaine
    Par youtou dans le forum C
    Réponses: 11
    Dernier message: 06/06/2006, 15h11
  3. [String] Ajouter des espaces à une chaine
    Par jake84 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 13/02/2006, 16h56
  4. ajout de chaine à une autre
    Par mathieu57 dans le forum C++
    Réponses: 3
    Dernier message: 19/10/2005, 21h11
  5. Réponses: 14
    Dernier message: 28/08/2003, 23h29

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