j'essaie de réaliser un micro site web avec netcat et un script bash.
L'idée est de pouvoir rendre dix pages:
for i in `seq 1 10`
do
netcat -l -p 8080 -e web.sh
done
Mais curieusement, links couine, lynx couine, wget couine:
links affiche "Hello World", ainsi qu'un popup:
error loading http://127.0.0.1:8080
connection refused.
lynx: unexpected server disconnect
wget: $ wget http://127.0.0.1:8080
--2008-07-29 11:40:51-- http://127.0.0.1:8080/
Connexion vers 127.0.0.1:8080...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: non spécifié [text/html]
Saving to: `index.html'
[ <=> ] 102 --.-K/s in 0s
2008-07-29 11:40:51 (720 KB/s) - ERREUR de lecture à l'octet 102
(Connexion ré-initialisée par le correspondant).Nouvel essai.
Mes lectures sur le web me proposent l'utilisation de l'option -L ou
-k, mais elles sont inexistantes avec ma version de netcat.
J'ai essayé d'ajouter un echo "Connection: Close" dans les en-têtes,
mais cela ne change rien.
Je poste dans ce groupe car j'ai l'impression que je me trompe avec
netcat et bash. Si mon problème est lié à autre chose, redirigez
moi vers le groupe approprié.
Cela ne fonctionne pas mieux. Mais je ne comprends pas le but de la manoeuvre (?).
Les lignes de header HTTP sont terminees par rn (CRLF), et les headers sont terminés par une line vide (rnrn).
Tout à fait, mais je pensais que echo faisait le travail. Et j'ai bien une ligne vide entre les entetes et le debut du HTML: echo "entete" echo "" echo "<HTMLW" Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là. -- Kevin
Le 29-07-2008, Stephane CHAZELAS <stephane_chazelas@yahoo.fr> a écrit :
j'essaie de réaliser un micro site web avec netcat et un script bash.
Cela ne fonctionne pas mieux. Mais je ne comprends pas le but de la
manoeuvre (?).
Les lignes de header HTTP sont terminees par rn (CRLF), et les
headers sont terminés par une line vide (rnrn).
Tout à fait, mais je pensais que echo faisait le travail. Et j'ai bien
une ligne vide entre les entetes et le debut du HTML:
echo "entete"
echo ""
echo "<HTMLW"
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le
HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger
sa page, et s'arrêter là.
--
Kevin
Cela ne fonctionne pas mieux. Mais je ne comprends pas le but de la manoeuvre (?).
Les lignes de header HTTP sont terminees par rn (CRLF), et les headers sont terminés par une line vide (rnrn).
Tout à fait, mais je pensais que echo faisait le travail. Et j'ai bien une ligne vide entre les entetes et le debut du HTML: echo "entete" echo "" echo "<HTMLW" Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là. -- Kevin
Stephane CHAZELAS
2008-07-29, 14:59(+00), Kevin Denis: [...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
-- Stéphane
2008-07-29, 14:59(+00), Kevin Denis:
[...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le
HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger
sa page, et s'arrêter là.
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
-- Stéphane
Kevin Denis
Le 29-07-2008, Stephane CHAZELAS a écrit :
[...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat? Et quelle version de netcat? Je vais creuser un peu. -- Kevin
Le 29-07-2008, Stephane CHAZELAS <stephane_chazelas@yahoo.fr> a écrit :
[...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le
HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger
sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat?
Et quelle version de netcat?
Je vais creuser un peu.
--
Kevin
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat? Et quelle version de netcat? Je vais creuser un peu. -- Kevin
Stephane CHAZELAS
2008-07-29, 16:20(+00), Kevin Denis:
Le 29-07-2008, Stephane CHAZELAS a écrit :
[...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat? Et quelle version de netcat? Je vais creuser un peu.
Oui, netcat 1.0-38 de debian.
Cela dit, netcat n'est pas un software de la meilleure qualité qu'il soit et a ete patché de partout sur toutes les distributions.
Tu peux essayer socat, ou /dev/tcp/... si ta distribution n'a pas retiré cette fonctionalité de bash.
Sinon, tu as /dev/tcp dans AT&T ksh et zsocket dans zsh, et (x)inetd et perl/tcl/python...
-- Stéphane
2008-07-29, 16:20(+00), Kevin Denis:
Le 29-07-2008, Stephane CHAZELAS <stephane_chazelas@yahoo.fr> a écrit :
[...]
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le
HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger
sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat?
Et quelle version de netcat?
Je vais creuser un peu.
Oui, netcat 1.0-38 de debian.
Cela dit, netcat n'est pas un software de la meilleure qualité
qu'il soit et a ete patché de partout sur toutes les
distributions.
Tu peux essayer socat, ou /dev/tcp/... si ta distribution n'a
pas retiré cette fonctionalité de bash.
Sinon, tu as /dev/tcp dans AT&T ksh et zsocket dans zsh, et
(x)inetd et perl/tcl/python...
Néanmoins, ça ne fonctionne pas pour une raison qui m'échappe. Le HTTP/1.0 n'est pas keepalive par défaut. Le client devrait télécharger sa page, et s'arrêter là.
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat? Et quelle version de netcat? Je vais creuser un peu.
Oui, netcat 1.0-38 de debian.
Cela dit, netcat n'est pas un software de la meilleure qualité qu'il soit et a ete patché de partout sur toutes les distributions.
Tu peux essayer socat, ou /dev/tcp/... si ta distribution n'a pas retiré cette fonctionalité de bash.
Sinon, tu as /dev/tcp dans AT&T ksh et zsocket dans zsh, et (x)inetd et perl/tcl/python...
-- Stéphane
Kevin Denis
Le 29-07-2008, Stephane CHAZELAS a écrit :
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat? Et quelle version de netcat? Je vais creuser un peu.
Oui, netcat 1.0-38 de debian.
Cela dit, netcat n'est pas un software de la meilleure qualité qu'il soit et a ete patché de partout sur toutes les distributions.
Ok
Tu peux essayer socat,
Ok, je vais voir par là.
ou /dev/tcp/... si ta distribution n'a pas retiré cette fonctionalité de bash.
on peut créer un serveur avec /dev/tcp ? -- Kevin
Le 29-07-2008, Stephane CHAZELAS <stephane_chazelas@yahoo.fr> a écrit :
Ca marche chez moi avec elinks, w3m ou lynx.
Bon, merci du retour. C'est fait avec la même ligne de commande netcat?
Et quelle version de netcat?
Je vais creuser un peu.
Oui, netcat 1.0-38 de debian.
Cela dit, netcat n'est pas un software de la meilleure qualité
qu'il soit et a ete patché de partout sur toutes les
distributions.
Ok
Tu peux essayer socat,
Ok, je vais voir par là.
ou /dev/tcp/... si ta distribution n'a
pas retiré cette fonctionalité de bash.