4 votes

serveur http en ligne de commande pour Windows

Je recherche un outil en ligne de commande qui agisse comme un simple "serveur" http en ce sens qu'il puisse imprimer les requêtes qui lui sont adressées sur la console et répondre par 200. En particulier, il doit supporter les commandes POST.

0 votes

Je pense que vous voulez parler des navigateurs web en ligne de commande, n'est-ce pas ?

3 votes

Non, je veux parler du serveur http en ligne de commande.

3voto

simon Points 694

Netcat le fera, si je vous comprends bien.

J'aime utiliser la version de netcat de ici car elle ne présente pas les problèmes de sécurité associés à l'option -e.

Maintenant, créez un fichier texte contenant quelque chose comme :

echo HTTP/1.0 200 OK

<html>
<head>
<title>hello</title>
</head>
<body>
<h1>hello world</h1>
<form method="post">
send something: <input type="text" name="postText" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Si vous exécutez la commande suivante sur la ligne de commande, où page.txt est le nom de votre fichier texte ci-dessus, netcat agira comme un serveur web en une ligne.

for /l %a in (1,0,2) do type page.txt | nc -w 1 -l -p 80 | findstr "postText"

Se connecter à http://localhost affichera la page web ci-dessus. En tapant quelque chose dans la case "envoyer quelque chose" et en appuyant sur "submit", vous obtiendrez la valeur soumise sur la ligne de commande où vous avez exécuté netcat. Le "-w 1" (déconnecter après une seconde) est un peu un truc pour que netcat se comporte comme un serveur web, mais ça marche, même avec un délai d'une seconde.

Vous pouvez même utiliser un fichier batch pour renvoyer un http qui dépend de ce que vous avez posté, en redirigeant toute la sortie de la commande vers le fichier batch, et en utilisant un set /p dans une boucle, en recherchant "postText=".

3voto

JRun Points 271

L'exécutable unique non configuré mangouste

Ou si vous avez installé Python, il y a la fonction intégrée SimpleHTTPServer module

python -m SimpleHTTPServer 8000

Note : si vous avez installé OpenOffice ou LibreOffice, vous avez aussi Python ;-)

Exemple : OpenOffice.org 3.4.1

C:\Program Fichiers \OpenOffice.org 3 \Basis\program\python -core-2.6.1 \bin

1voto

RobW Points 2691

Vous pourriez vous intéresser à un portage win32 de Netcat appelé NCat. Regardez cette page pour un exemple de NCat en mode écoute : http://nmap.org/ncat/guide/ncat-usage.html#ncat-listen pour voir comment obtenir le code de résultat 200 que vous avez spécifié.

Vous pourriez aussi regarder : http://www.ritlabs.com/en/products/tinyweb/

Il s'agit d'un serveur Web en ligne de commande, sans clochettes, qui peut également répondre à vos besoins.

Rob

0 votes

Merci. netcat ne supporte pas POST, tinyweb rejette tous les POST que je lui envoie.

0 votes

D'accord - d'autres exigences ?

0 votes

En regardant la documentation de Tinyweb, l'auteur dit qu'il supporte post et get. Vous pouvez contacter l'auteur en lui expliquant l'erreur que vous rencontrez. Vous pouvez également consulter hoagieshouse.com/apps/webserve.html . L'auteur indique qu'il dispose d'une fonction d'affichage limitée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X