Я должен загрузить файлы, которые находятся за пределами каталога моего сайта, используя wget
Windows, позвольте мне сделать это более понятным.
Мой сайт работает на сервере Linux.
Domain ---> www.example.com
/var/www/html ---> This is the my site directory
/home/username/data.csv ---> This is the file I wants to download
Когда я пытаюсь скачать любой файл из каталога сайта, он работает нормально, но не скачивается отсюда /home/username/data.csv
c:\wget\ wget.exe --ftp-user="username" --ftp-password="password" "www.example.com/index.php"
Приведенная выше команда работает хорошо и index.php
файл успешно загружен.
Но как настроить таргетинг на /home/username/data.csv
файл и скачать с помощью wget
?
Я пытался с этим, но я был уверен, что это не сработает.
c:\wget\ wget.exe --ftp-user="username" --ftp-password="password" "www.example.com/home/username/data.csv"
Я могу понять, почему эта команда не работает и возвращает 404 error
, потому что домен указывает на /var/www/html
каталог, следовательно, wget
внутренне читает его как, /var/www/html/home/username/data.csv
и это правда, что такого файла нет.
Поэтому мой вопрос: wget
принимает ли путь?
Как мне скачать файл за пределами каталога моего сайта?
Ответы:
Вы не можете попросить веб-сервер предоставить его по соображениям безопасности.
Попробуйте вместо этого использовать ftp
Если служба FTP недоступна, настройте ее или используйте
sftp
вместо нее для большей безопасности.источник
wget sftp://username:password@www.example.com/data.csv
но он говоритUnsupported Scheme
Ваш веб-сервер обслуживает только файлы с
/var/www/html/
пути и не знает о существовании/home/username/
. Вам нужно запустить какой-то экземпляр веб-сервера внутри,/home/username/
прежде чем вы сможетеwget
файлы из этого каталога.Вот несколько способов заставить это работать.
$ cd /home/username
$ python -m SimpleHTTPServer
(python -m http.server
наPython 3.x
)$ wget http://example.com:8000/data.csv
/home/username/
from/var/www/html/
, хотя это не рекомендуется, поскольку она предоставляет весь ваш домашний каталог. Или создайте символическую ссылку наdata.csv
себя.$ cd /var/www/html/
$ ln -s /home/username/data.csv data.csv
(ln -s /home/username homedir
символическая ссылка на каталог)$ wget http://www.example.com/data.csv
Убедитесь, что вы включили использование символических ссылок (глобально или только для этого Справочника).
Options FollowSymLinks
Смотрите здесь для получения дополнительной документации относительно символических ссылок.источник
WinScp
.