LINUX.ORG.RU

wget | curl квест


0

1

Задача: есть директория с файлами:

xyz.server.com/dir/subdir/

В ней есть файлы (.zip-архивы), и есть .html файл, редиректящий на server.com.

Как wget`ом|curl`ом выдрать содержимое директории? wget получает только html файл при любых попытках скормить директорию (ключики тоже пробовал - не прокатывают). По отдельности (если указать полный путь к файлу) прекрасно качает. Задача ставится потому, что я точно знаю, что там есть несколько архивов, но я не знаю, есть ли там что-то еще.

★★★★★

Ответ на: комментарий от Eddy_Em

Не верю. в том же даунлоад мастере можно задать поиск по маске, я вот например знал про существование двух архивов, DM мне скачал третий, но опять же - там строгая маска, а мне надо все подряд.

Если вкратце - http://event.asus.ua/storage/fw/ - вот тут нашел прошивки для роутера, которых нет на оф. сайте. пруфы:

http://event.asus.ua/storage/fw/RT-N10U_3.0.0.3_135.zip

http://event.asus.ua/storage/fw/RT-N10U_3.0.0.3_151.zip

http://event.asus.ua/storage/fw/RT-N10U_3.0.0.3_155.zip

http://event.asus.ua/storage/fw/RT-N10U_3.0.0.4_188.zip

Четвертый вылез из обсуждения)

leg0las ★★★★★ ()

Без строгой маски - никак. HTTP не предусматривает стандарта на список файлов.

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

Откуда? Браузер делает GET /.../.../.../, и только сервер решает, что ему отдавать. Если сервер хочет отдавать в ответ на это Location: /, это его неотъемлемое право.

Разве что взломать сервер или откопать где-нибудь забытый FTP-доступ.

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

В скрипт закидываешь цикл и подставляй себе циферки в rt-n10u_

Mr_Alone ★★★★★ ()
Ответ на: комментарий от leg0las
for(i = 'a'; i < 'z'; i++)
  for(j = 'a'; j < 'z'; j++)
    for(k = 'a'; k < 'z'; k++){
      sprintf(str, "%c%c%c", i, j, k);
      // а дальше -- curl http://адрес/str
    }

и так далее

Eddy_Em ☆☆☆☆☆ ()
Последнее исправление: Eddy_Em (всего исправлений: 1 )
Ответ на: комментарий от leg0las

Ипать-колотить, загрузи index.html, который сервер отдаёт. И распарси его.

А лучше man wget на предмет --accept, --reject, --no-parent и проч.

anonymous ()
Ответ на: комментарий от anonymous
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="REFRESH" CONTENT="1; URL=http://www.asus.ua/">


</head>

<body>
</body>
</html>

тут парсить нечего.

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

1) номера версий можно подставлять из последнего ченжлога

2) есть мизерная, но отличная от 0 вероятность что где-то есть файлик ls-lR в котором есть уже готовый список файлов.

3) имея в руках сам роутер, можно перехватить трафик «обновлятора» прошивки и выяснить как и откуда он скачивает «свежачок». Наверняка он где-то несложным методом на asus`е берёт список прошивок годных для его модели

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

«обновлятора» нет, все ручками.

Еще думал вариант - можно ли пройти по этой ссылке, не обрабатывая хтмл-файл?

leg0las ★★★★★ ()

А ларчик просто открывался...

http://event.asus.ua/storage/ стр. 2:

Скачать Прошивка 3.0.0.3.155 с новым интерфейсом и поддержкой 3G-модемов

Скачать Прошивка 3.0.0.4.188 с новым интерфейсом и поддержкой 3G-модемов

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