как скормить файл в telnet - PullRequest
       35

как скормить файл в telnet

12 голосов
/ 14 апреля 2010

пытаясь понять http и заголовки, я играл с telnet для отправки запросов. чтобы не вводить все снова и снова и снова, я подумал, что напишу небольшой текстовый файл со всеми необходимыми мне командами.

Мой файл так же прост:

GET /somefile.php HTTP/1.1
Host: localhost

я тогда пытаюсь передать его в telnet с перенаправлением io:

$ telnet localhost 80 < telnet.txt

но все, что я получаю, это

Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

что я делаю не так?

Ответы [ 3 ]

12 голосов
/ 14 апреля 2010

telnet не подходит для этой работы. Попробуйте:

netcat localhost 80

кстати, если на вашем компьютере не установлен инструмент, вы можно получить здесь:

http://netcat.sourceforge.net/

7 голосов
/ 16 мая 2014

Проблема в том, что вы вводите весь ввод в команду telnet мгновенно, не дожидаясь ее вывода. Сразу после того, как весь ваш входной файл будет загружен, он автоматически вызовет зависание telnet, потому что поток ввода достигает своего конца (EOF). Telnet все еще может находиться в своей первой миллисекунде или микросекунде, фактически ожидая установления соединения с удаленным сервером, когда это происходит. То, что вы хотите сделать, это отправить команду в telnet, затем подождать, пока она выполнит свою работу, то есть дождаться ответа сервера, затем отправить следующую команду и т. Д. И зависнуть только в самом конце, когда все команды вы отправили были обработаны. Чтобы сделать это, используйте сценарий «ожидаемо» вместо вставки текстового файла. «Ожидайте» - обычный инструмент для выполнения этой работы.

0 голосов
/ 14 апреля 2010

Я не знаю, возможно ли это с telnet. Вы смотрели на netcat?

...