Скрипт телнет на веб-сервере - PullRequest
1 голос
/ 24 марта 2010

Я хотел бы написать скрипт telnet для проверки обработки ввода моего сайта. Я могу сделать это вручную:

telnet localhost 8888
...
GET / HTTP/1.1\n
Host: localhost


...html response

Но я могу передать команду telnet в моем сценарии оболочки!

Я пробовал:

(echo "GET / HTTP/1.1\n"; echo "Host: localhost \n\n"; sleep 1) | telnet localhost 8888

Ничего не дает!

Ответы [ 3 ]

3 голосов
/ 24 марта 2010

Я считаю, что netcat, он же nc, гораздо лучше подходит для такого рода задач.

Также, как упоминает Джузеппе, вам придется исправить цитату. Альтернативой bash -e является кавычка с использованием $'this form', в которой \n, \t и т. Д. Интерпретируются как bash при разборе командной строки, а не передаются echo. Так что эта форма применима ко многим различным утилитам.

2 голосов
/ 24 марта 2010

(вероятно, не единственная проблема) Вы должны "echo -en" и использовать одинарные кавычки, чтобы закрыть строки. Это заставляет bash правильно интерпретировать \ n

Привет

1 голос
/ 24 марта 2010

Обычный ответ на вопрос «Как мне написать скрипт x?» это "expect"

...