Автор Тема: Скачивание файлов. Пища для ума.  (Прочитано 4425 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Inecs

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.amorphis-dg.da.ru
Скачивание файлов. Пища для ума.
« : 22 Августа 2005, 15:23:32 »
Господа. Есть пища для ума.
Задачка состоит в следующем.
Есть некий perl скрипт на локальном компьютере.
Есть perl скрипт на сервере.
По запросу серверный скрипт генерит архив, и кладёт в какую-либо папку. Вопрос вот в чём, как этот архив скачать скриптом на локальный компьютер. Только не просто скачать, а скачать в определённую директорию на локальном компьютере и чтобы при этом, пользователь не нажимал никаких кнопок о том что сохранить и так далее.
Можно ли это осуществить?
А то уж очень интересная задумка появилась.

Оффлайн Ivan Kolesnikov

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Скачивание файлов. Пища для ума.
« Ответ #1 : 22 Августа 2005, 15:28:54 »
Осуществить можно все. :) Что за система? Можно конечно чисто используя Perl, но проще и быстрее воспользоваться скажем ftp или если это *nix, то rsh, или ssh.

Оффлайн Inecs

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.amorphis-dg.da.ru
Скачивание файлов. Пища для ума.
« Ответ #2 : 22 Августа 2005, 15:37:09 »
На стороне сервера - Unix/Linux
У клиента Windows.
Мне нужно, чтобы пользователь не утруждал себя записыванием файла в определённые директории. Вот и встаёт вопрос, как это сделать. И желательно средствами perl. И если можно, то обойтись без фтп. А скачивать с http.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Скачивание файлов. Пища для ума.
« Ответ #3 : 22 Августа 2005, 15:51:45 »
Нельзя. Из соображений безопасности.
The documentations is your friend

Оффлайн Ivan Kolesnikov

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Скачивание файлов. Пища для ума.
« Ответ #4 : 22 Августа 2005, 15:59:11 »
Я бы сделал следующим образом: для начала придумал формат файла получив который я смогу на клиенте определиться с местом куда этот файл положить.
Скажем первая строка полный путь к файлу, начиная со следующей содержимое.

Далее написал бы скрипт CGI для сервера, который бы принимал параметры переданные ему, обрабатывал их и возвращал следующее содержимое:

Content-Type: text/html; charset: windows-1251;

file-name: "путь куда сохранить"
"данные"


На клиенте работал бы следующий Perl скрипт:

use LWP::Simple;
my $res = get("server_script.pl?param1=value1¶m2=value2...");
"разбор $res"
известно имя файла и содержимое, осталось сохранить

Это так вариант на скорую руку нужно еще все хорошо обдумать :)

Оффлайн Ivan Kolesnikov

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 39
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Скачивание файлов. Пища для ума.
« Ответ #5 : 22 Августа 2005, 16:00:01 »
Только мне не понятно, а кто будет на клиенте скрипт запускать?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Скачивание файлов. Пища для ума.
« Ответ #6 : 22 Августа 2005, 16:03:00 »
Ага, предварительно на клиенте установить perl и необходимые модули.
The documentations is your friend

Оффлайн Inecs

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.amorphis-dg.da.ru
Скачивание файлов. Пища для ума.
« Ответ #7 : 22 Августа 2005, 16:15:35 »
Ну начнём с того, что на клиенте можно откомпилить перл скрипт и запускать его где угодно.
Скрипт запускает сам клиент.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Скачивание файлов. Пища для ума.
« Ответ #8 : 22 Августа 2005, 16:49:48 »
Размер скрипта представляете?
Если да, то вперед - Ivan Kolesnikov подсказал.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28