je bloque sur un problème que j'ai rencontré depuis 2003, date à laquelle
j'ai essayé d'écrire un mini serveur web. J'ai tout essayé, je suis
désespéré.
Le problème est le suivant: lorsqu'on poste un formulaire en method=post, le
navigateur envoie théoriquement une entête comportant une ligne POST,
quelques lignes de baratin (genre accept *.jpeg, lang=en,fr etc), suivi
d'UNE LIGNE VIDE, elle même enfin suivie d'une ligne comportant la liste des
variables postées et leurs valeurs séparées par un signe égal, le tout en
format url-encoded.
Je me suis aperçu avec horreur que seul IE6 dans un environnement spécifique
(Win2k ou Win98) se comporte comme prévu; dans les autres cas, j'ai essayé
IE6 sous XP et aussi Mozilla Firefox, le navigateur refuse de poster la
ligne url encodée.
Voici pour l'exemple: j'ai écrit une espece de proxy espion pour sniffer le
protocole entre le client et le serveur web (ici Tinyweb de chez ritlab).
Voici ce que donne IE: http://mircscriptsfrfm.com/defis/socketweb-IE.htm
Et voici ce que donne FireFox:
http://mircscriptsfrfm.com/defis/socketweb-FF.htm
J'ai mis en bleu ce que dit le client, en noir ce que dit le serveur, et en
violet les commentaires de mon proxy. La ligne vide est symbolisée par 3
etoiles.
Dans le cas IE, on voit la variable url encodée, dans le cas FF, il poste
une ligne vide.
Il semblerait que IE fonctionne, mais c'est un bug! Dans tous les autres cas
testés, soit le navigateur poste une ligne vide, soit il ne poste pas de
ligne du tout (ce qui est catastrophique, car le serveur que j'ai écrit gèle
dans ce cas là).
Je n'y comprends rien depuis 3 ans, pouvez-vous m'aider? Honnêtement ça me
ferait beaucoup plaisir d'avoir la solution!
Merci et bien à vous tous,
P.C.
P.S. Pour info, le source du script perl appelé est en
http://mircscriptsfrfm.com/defis/control.htm . Si le code du proxy vous
intéresse, me contacter: il s'agit d'un script pour mirc.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien LE LEZ
On Thu, 23 Feb 2006 19:48:35 +0100, "Patrice Chevee" :
P.S. Pour info, le source du script perl appelé est en http://mircscriptsfrfm.com/defis/control.htm
Tu peux donner le code HTML exact fourni au navigateur ?
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur "bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet de taper une réponse à renvoyer).
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
On Thu, 23 Feb 2006 19:48:35 +0100, "Patrice Chevee"
<patrice._OTEZ-MOI_chevee@neuf.fr>:
P.S. Pour info, le source du script perl appelé est en
http://mircscriptsfrfm.com/defis/control.htm
Tu peux donner le code HTML exact fourni au navigateur ?
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur
"bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet
de taper une réponse à renvoyer).
On Thu, 23 Feb 2006 19:48:35 +0100, "Patrice Chevee" :
P.S. Pour info, le source du script perl appelé est en http://mircscriptsfrfm.com/defis/control.htm
Tu peux donner le code HTML exact fourni au navigateur ?
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur "bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet de taper une réponse à renvoyer).
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
Patrice Chevee
Fabien LE LEZ wrote:
Tu peux donner le code HTML exact fourni au navigateur ?
Oui, je peux même faire mieux: j'ai uploadé le script perl en http://www.mircscriptsfrfm.com/cgi-bin/control.pl .
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur "bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet de taper une réponse à renvoyer).
C'est sympa ce truc, y en a t il une version pour windows?
machinD&biduleD<Le curseur reste ici>
(Note : j'ai coupé les lignes trop longues)
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
Ca par contre, c'est une sacrée piste. Car a priori, mon serveur bidon écrit en script mirc me montre que la ligne est sur le point d'être postée, vu qu'il fournit même le Content-length (la longueur est exacte).
Merci de ta réponse prompte.
Fabien LE LEZ wrote:
Tu peux donner le code HTML exact fourni au navigateur ?
Oui, je peux même faire mieux: j'ai uploadé le script perl en
http://www.mircscriptsfrfm.com/cgi-bin/control.pl .
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur
"bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet
de taper une réponse à renvoyer).
C'est sympa ce truc, y en a t il une version pour windows?
machinD&biduleD<Le curseur reste ici>
(Note : j'ai coupé les lignes trop longues)
Il est important de noter que le curseur reste à la fin de la dernière
ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à
la ligne.
Ca par contre, c'est une sacrée piste. Car a priori, mon serveur bidon écrit
en script mirc me montre que la ligne est sur le point d'être postée, vu
qu'il fournit même le Content-length (la longueur est exacte).
Tu peux donner le code HTML exact fourni au navigateur ?
Oui, je peux même faire mieux: j'ai uploadé le script perl en http://www.mircscriptsfrfm.com/cgi-bin/control.pl .
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur "bidon" (i.e. il se contente d'afficher ce qu'il reçoit, et te permet de taper une réponse à renvoyer).
C'est sympa ce truc, y en a t il une version pour windows?
machinD&biduleD<Le curseur reste ici>
(Note : j'ai coupé les lignes trop longues)
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
Ca par contre, c'est une sacrée piste. Car a priori, mon serveur bidon écrit en script mirc me montre que la ligne est sur le point d'être postée, vu qu'il fournit même le Content-length (la longueur est exacte).
Merci de ta réponse prompte.
Fabien LE LEZ
On Thu, 23 Feb 2006 23:12:31 +0100, "Patrice Chevee" :
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur
C'est sympa ce truc,
Non, c'est totalement indispensable. Presque autant qu'un clavier.
y en a t il une version pour windows?
Oui. N'as-tu pas remarqué que ma machine est sous Windows ?
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
Ca par contre, c'est une sacrée piste.
Yep. La plupart des protocoles fonctionnent en "ligne par ligne" : SMTP, POP3, HTTP/GET, etc. Même HTTP/POST si tu utilises multipart/form-data. L'exception étant celui-ci (HTTP + POST + urlencoded). J'ai été le premier surpris.
On Thu, 23 Feb 2006 23:12:31 +0100, "Patrice Chevee"
<patrice._OTEZ-MOI_chevee@neuf.fr>:
J'utilise quant à moi le code ci-dessous, et Netcat comme serveur
C'est sympa ce truc,
Non, c'est totalement indispensable. Presque autant qu'un clavier.
y en a t il une version pour windows?
Oui. N'as-tu pas remarqué que ma machine est sous Windows ?
Il est important de noter que le curseur reste à la fin de la dernière
ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à
la ligne.
Ca par contre, c'est une sacrée piste.
Yep. La plupart des protocoles fonctionnent en "ligne par ligne" :
SMTP, POP3, HTTP/GET, etc. Même HTTP/POST si tu utilises
multipart/form-data.
L'exception étant celui-ci (HTTP + POST + urlencoded). J'ai été le
premier surpris.
Il est important de noter que le curseur reste à la fin de la dernière ligne : Firefox envoie 19 octets (comme prévu), et _pas_ de retour à la ligne.
Ca par contre, c'est une sacrée piste.
Yep. La plupart des protocoles fonctionnent en "ligne par ligne" : SMTP, POP3, HTTP/GET, etc. Même HTTP/POST si tu utilises multipart/form-data. L'exception étant celui-ci (HTTP + POST + urlencoded). J'ai été le premier surpris.
Patrice Chevee
Fabien LE LEZ wrote:
On Thu, 23 Feb 2006 23:12:31 +0100, "Patrice Chevee" :
y en a t il une version pour windows?
Oui. N'as-tu pas remarqué que ma machine est sous Windows ?