В этой заметке я расскажу, как можно закачивать файлы на depositfiles.com с помощью утилиты curl.
Небольшая справка: DepositFiles.com – это файловый хостинг, позволяющий закачивать файлы размером до 2 Гб на достаточно хорошей скорости, при этом файл хранится практически вечно (если его кто-нибудь скачивает хотя бы раз в месяц). Для пользователей, не имеющих платного аккаунта (цена – 12wmz в месяц), действует ограничение на число скачиваний с одного IP. Также система имеет неплохую партнерскую программу. В общем, достаточно приятный сервис.
Curl – бесплатная утилита для работы с протоколами HTTP, FTP, SCP, TELNET и другими. С ее помощью, к примеру, можно послать POST-запрос на веб-сервер или скачивать файлы по FTP. Curl поддерживает SSL, кукисы, аутентификацию и другие полезные вещи. Работает как под UNIX, так и под Windows. Скачать можно с curl.haxx.se, пользователи FreeBSD могут поставить ее из портов – /usr/ports/ftp/curl. Вообще-то я предпочел бы использовать утилиту wget, но она не поддерживает multipart/form-data формы.
Заходим на depositfiles.com, смотрим html-код страницы и ищем в нем форму для отправки файлов. У меня она выглядела так:
Тут мы видим достаточно много аргументов, но на практике, как выяснилось, достаточно отправить только один из них:
Немного покурив в man-page утилиты curl, я выполнил такую команду:
curl -F "files=@path/to/my/file" ->
-> http://fileshare261.depositfiles.com/ru/FS261-3u/?X-Progress-ID=4e12cc6de5c56ee0d40fed3f8d73f21c
Адрес для отправки формы тут скопирован из атрибута action формы. В ответ был получен примерно такой ответ (id файла заменено):
Как видите, тут все достаточно просто и написать скрипт на Perl для автоматической загрузки не представляет собой проблему. Можете считать это домашним заданием, если хотите. Велика вероятность, что скоро я выложу несколько скриптов для закачки на depositfiles.com, rapidshare.ru и другие файловые хостинги.