Выполненные sudo с-E (сохраняют среду) опция (см. файл человека), или помещают JAVA_HOME в install.sh сценарий.
Тот сервер ясно выполняет частичную или поврежденную реализацию WebDAV. Обратите внимание, что необходимо соединиться с URL как https://public.me.com/ix/rudchenko, не нормальным URL https://public.me.com/rudchenko. Я судил несколько клиентов:
wget https://public.me.com/ix/rudchenko/directory/filename
), но не смог получить список каталогов.fusedav -D
) но в конечном счете выполнения некоторый запрос, который возвращает “отказавший PROPFIND: 404 Не Найденный” и запирается.Труп работает хорошо, но испытывает недостаток в рекурсивной команде извлечения. Вы могли использовать его для получения списков, затем получить отдельные файлы как выше.
Это не прекрасно, и конкретно в этом случае существует проблема: труп mget
сбои для обработки args с подстановочными знаками, которые расширяются до имен файлов с пробелами.
/etc/fstab
.Основанный на FUSE wdfs-1.4.2-alt0. M51.1 работал очень хорошо в этом случае, не требуя никакого корня (только полномочия для /dev/fuse
).
mkdir viewRemote
wdfs https://public.me.com/ix/rudchenko/ viewRemote
rsync -a viewRemote/SEM*TO\ PRINT* ./
fusermount -u viewRemote
rmdir viewRemote
(Конечно, простое cp
вместо rsync
работал бы хорошо в этом примере; rsync
был выбран просто для дополнительной диагностики о различии, когда мы обновим копию.)
(Кроме wdfs, я попробовал эти команды на Debian, сжимают систему. Ваш пробег может варьироваться.)
Существуют также некоторые специальные сценарии и инструмент (wget-warc
) загружать содержание https://public.me.com/папки пользователя - https://github.com/ArchiveTeam/mobileme-grab/blob/master/dld-me-com.sh (и видеть содержание repo). (Найденный с помощью http://archiveteam.org/index.php?title=MobileMe#How_to_help_archiving.)
Внутренне, сценарий, кажется, составляет запросы WebDAV и использует затем ответы, например:
# step 1: download the list of files
if [[ "$domain" =~ "public.me.com" ]]
then
# public.me.com has real WebDAV
# PROPFIND with Depth: infinity lists all files
echo -n " - Discovering urls (XML)..."
curl "https://public.me.com/ix/${username}/" \
--silent \
--request PROPFIND \
--header "Content-Type: text/xml; charset=\"utf-8\"" \
--header "Depth: infinity" \
--data '<?xml version="1.0" encoding="utf-8"?><DAV:propfind xmlns:DAV="DAV:"><DAV:allprop/></DAV:propfind>' \
--user-agent "${USER_AGENT}" \
> "$userdir/webdav-feed.xml"
result=$?
if [ $result -ne 0 ]
then
echo " ERROR ($result)."
exit 1
fi
echo " done."
# grep for href, strip <D:href> and prepend https://public.me.com
grep -o -E "<D:href>[^<]+" "$userdir/webdav-feed.xml" | cut -c 9- | awk '/[^\/]$/ { print "https://public.me.com" $1 }' > "$userdir/urls.txt"
count=$( cat "$userdir/urls.txt" | wc -l )
elif
Да, они также используют "https://public.me.com/ix/$ {имя пользователя} / ", отметьте"/ix /" инфикс в URL! Не нормальный URL - то же самое, поскольку Gilles обнаружен в его ответе.
mget
сбои для обработки args с подстановочными знаками, которые расширяются до имен файлов с пробелами (по крайней мере, моя версия). Но я нашел основанный на FUSE wdfs-1.4.2-alt0. M51.1, который работал хорошо на меня. – imz -- Ivan Zakharyaschev 28.11.2011, 20:29