LINUX.ORG.RU
ФорумAdmin

выдать логи в браузер


0

0

Хочется сделать буквально следующее. При заходе браузером на некий комп на этом компе запускается некий скрипт, вывод которого выдаётся плэйн-текстом в этом самом браузере. Т.е. что-то навроде мега-примитивного http-сервера.

Есть какое-нибудь готовое простое-минимальное решение для такой вещи, или только апач и CGI?

anonymous

Ну вообще запросто, особенно если не нужна безопасность и многопоточность )

Например, для Perl: http://www.xav.com/perl/site/lib/HTTP/Daemon.html

В общем-то весь модифицированный под твои нужды "сервер" имеет вид:

-------------------------------
  use HTTP::Daemon;
  use HTTP::Status;

  my $d = new HTTP::Daemon
      LocalPort=>6666;
  while (my $c = $d->accept) {
          $c->send_file_response("/home/octy/music.txt");
      $c->close;
      undef($c);
  }

--------------------------------

заменив, естественно порт на приемлемый порт и файл на файл с логом (должно быть право на чтение :). 

octy ★★
()
Ответ на: комментарий от octy

Почти оно. Только чтобы не лог, а именно вывод программы. Типа постучался в 6666 порт, на серваке запустился например ifconfig и выдал свои данные в браузер.

anonymous
()
Ответ на: комментарий от Anoxemian

А, то есть всё как в bash. Спасибо.

anonymous
()
Ответ на: комментарий от Anoxemian

неправда Ваша. В этом случае он будет пытаться послать файл с именем 
'eth0' наверное ). Потому что аргумент send_file_response() - 
это имя посылаемого файла.

Думаю, надо так:

---------------------------------------
  use HTTP::Daemon;
  use HTTP::Status;

  my $d = new HTTP::Daemon
      LocalPort=>6666;
  while (my $c = $d->accept) {

          # OK;
          $c->send_basic_header(200);          

          # use $c as an output file handler
          # `ls`; `sudo ifconfig`; `rm /` or whatever ;)
          print $c `ls`;

          #just in case
          $c->send_crlf;


      $c->close;
      undef($c);
  }

---------------------------------------



octy ★★
()
Ответ на: комментарий от sdio

$ apt-cache search http cgi server

boa - Lightweight and high performance web server
bozohttpd - Bozotic HTTP server
fnord - yet another small httpd
lighttpd - A fast webserver with minimal memory footprint
mini-httpd - a small HTTP server
thttpd - tiny/turbo/throttling HTTP server

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.