Отправляет email-рассылки с помощью сервиса Sendsay

Как сделать узнать код ошибки wget

Как узнать код ошибки wget? Как из скрипта узнать причину ошибки?

[dima@server dima]$ wget -P /tmp http://www.mult.ru/img/comics/58_c33d.jpg; echo
$?
--15:18:55-- http://www.mult.ru/img/comics/58_c33d.jpg
=> `/tmp/58_c33d.jpg.4'
Преобразование адреса www.mult.ru... сделано.
Установка соединения с www.mult.ru[194.67.27.206]:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 60,379 [image/jpeg]

100%[====================================>] 60,379 7,15K/s ETA 00:00

15:19:04 (7,15 KB/s) - `/tmp/58_c33d.jpg.4' сохранен [60379/60379]

0
Все выполнилось без ошибок, код возврата =0. Это меня устраивает.
[dima@server dima]$ wget -P /tmp http://www.mult.ru/img/comics/58_c331d.jpg;
echo $?
--15:20:38-- http://www.mult.ru/img/comics/58_c331d.jpg
=> `/tmp/58_c331d.jpg'
Преобразование адреса www.mult.ru... сделано.
Установка соединения с www.mult.ru[194.67.27.206]:80... соединились.
Запрос HTTP послан, ожидание ответа... 404 Not Found
15:20:38 ОШИБКА 404: Not Found.

1
Сказал, что произошла ошибка. Какая именно?
[dima@server dima]$ wget -P /tmp http://downloads.abuki.apvs.ru/Balzak%20O./Balzak_O_\(Evgenija_Grande\)\(128kbps\).rar;
echo $?
--15:23:12-- http://downloads.abuki.apvs.ru/Balzak%20O./Balzak_O_(Evgenija_Grande)(128kbps).rar
=> `/tmp/Balzak_O_(Evgenija_Grande)(128kbps).rar.1'
Преобразование адреса downloads.abuki.apvs.ru... сделано.
Установка соединения с downloads.abuki.apvs.ru[83.222.9.16]:80... соединились.
Запрос HTTP послан, ожидание ответа... 503 Service Temporarily Unavailable
15:23:12 ОШИБКА 503: Service Temporarily Unavailable.

1

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24562; Возраст листа: 936; Участников: 1465
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/515659

Ответить   Wed, 15 Feb 2006 15:34:38 +0300 (#515659)

 

Ответы:

On Wed, Feb 15, 2006 at 15:34 +0300, Dmitry A. Kharitonov wrote:

echo

На сколько я правильно понимаю ОШИБКА 404 Not Found, т.е. нет такого
файла.

в адресе присутсвует знак "%" -- попробуй экранировать этот знак (\%) или лучше
взять весь адрес файла в двойные кавычки:
wget -P /tmp "http://downloads.abuki.apvs.ru/Balzak%20O./Balzak_O_\(Evgenija_Grande\)\(128kbps\).rar"

Ответить   Thu, 16 Feb 2006 14:58:56 +0200 (#516343)

 

Max пишет:

Согласен с Максом... Это не ошибка wget-а - это код состояния HTTP и
означает именно отсутствие такого файла. Ты вообще уверен, что в разделе
"comics" сущетвует картинка "58_c331d.jpg"? может её уже тю-тю, а
ссылочка осталась?

А вот здесь не согласен...

потому что...
^^^ -- %20 - код пробела
Или так -- '\пробел' вместо '%20', или действительно адрес в кавычки
возьми... Или проблема не в этом...
В принципе, код 503 - "Сервер в настоящее время не способен обработать
запрос из-за временной перегрузки или обслуживания сервера. Это
временное условие, которое будет облегчено после некоторой задержки."
взято отсюда:
http://lib.ru/WEBMASTER/rfc2068/section-10.html

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24612; Возраст листа: 937; Участников: 1466
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/516582

Ответить   Thu, 16 Feb 2006 21:41:50 +0300 (#516582)

 

On Thu, 16 Feb 2006 21:41:50 +0300
BogDaN wrote:

Насколько я понял, автор темы специально указал такой url.
Ему нужно вне wget (возможно, в каком-то скрипте) узнать, с какой
ошибкой вышел wget.

Ответить   Fri, 17 Feb 2006 08:30:19 +0300 (#516908)

 

В сообщении от 17 февраля 2006 08:30 Vladimir Rusinov
написал(a):

Тогда надо использовать адекватные средства: perl с модулем
Net::HTTP или LWP

Ответить   "Sergey B. Khvatov" Fri, 17 Feb 2006 18:09:07 +0300 (#516912)

 

Vladimir Rusinov пишет:

Как я уже писал, это, собственно, и не ошибка wget-а... Он, родимый,
честно вывел код, возвращенный HTTP, и завершил свою работу.
Выход вижу один - обрабатывать его вывод програмными средствами (если
запуск производится действительно из тела програмы/скрипта) по какой-то
БД (собственной, либо стандартной... MySQL например) с забитыми кодами
HTTP... Задачка может получиться еще та!.. Интересная! ;)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24650; Возраст листа: 938; Участников: 1467
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/516949

Ответить   Fri, 17 Feb 2006 19:27:07 +0300 (#516949)

 

В сообщении от 1140157819 секунд после начала Эпохи Vladimir Rusinov написал(а):

Дык он возвращает либо 0, либо 1. У curl по больше диапазон будет.

Ответить   Konstantin Korikov Sat, 18 Feb 2006 04:30:58 +0200 (#517080)

 

curl не имеет опций докачки частично закаченных файлов
Есть еще какие-нибудь предложения?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24682; Возраст листа: 939; Участников: 1468
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/517253

Ответить   Sat, 18 Feb 2006 16:01:46 +0000 (#517253)

 

Dmitry A. Kharitonov пишет:

Perl или Python

Ответить   Oleg Ponomarev Sat, 18 Feb 2006 15:50:41 +0200 (#517282)

 

Поясните, пожалуйста

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24687; Возраст листа: 939; Участников: 1468
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/517285

Ответить   Sat, 18 Feb 2006 16:58:29 +0000 (#517285)

 

Dmitry A. Kharitonov пишет:

Это я зыки программирования, в которых есть полная возможность написать
закачку файлов с анализом всех ошибок и etc. В них для этого есть все
библиотеки, использование которых достаточно тривиально.

Но, в голову пришла мысль. Тебе надо писать лог файл wget-а и в случае
завершения 1, обрабатывать этот лог. В bash-е для этого все есть.

Ответить   Oleg Ponomarev Sun, 19 Feb 2006 10:57:23 +0200 (#517527)

 

Мне интересно научиться программировать в BASH.
Я по этому пути уже пошел. У меня из лога уже выделяются ошибки передачи
и ошибки fatal.
только вот не могу вспомнить какой RFC полностью описывает все ошибки,
чтобы написать интеллектуальный разбор. Хочется, например, при ошибке
503 ограничить количество подключений к этому хосту.

я уже почти написал скрипт, который берет базу KGET, преобразует ее в
свою и закачивает с помощью WGET.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24736; Возраст листа: 940; Участников: 1468
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/517559

Ответить   Sun, 19 Feb 2006 13:40:36 +0000 (#517559)

 

Dmitry A. Kharitonov пишет:

Вообще-то гугль никто не отменял :) -
http://www.google.com/search?q=rfc+http
Ну если это проблема :(, то :

http://www.faqs.org/rfcs/rfc2616.html
http://lib.ru/WEBMASTER/rfc2068/

Ответить   Oleg Ponomarev Sun, 19 Feb 2006 13:19:00 +0200 (#517571)

 

Dmitry A. Kharitonov пишет:

$ man curl
.............
-C/--continue-at <offset>
Continue/Resume a previous file transfer at the given offset.
The given offset is the exact number of bytes that will be
skipped counted from the beginning of the source file before it
is transfered to the destination. If used with uploads, the ftp
server command SIZE will not be used by curl.

Use "-C -" to tell curl to automatically find out where/how to
resume the transfer. It then uses the given output/input files
to figure that out.

If this option is used several times, the last one will be used.
.............

Ответить   Sat, 18 Feb 2006 17:27:45 +0200 (#517322)

 

Yuri N. Glibovetz wrote:

Спасибо, про минус я как-то не прочитал

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24698; Возраст листа: 939; Участников: 1468
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/517362

Ответить   Sat, 18 Feb 2006 20:23:24 +0000 (#517362)

 

Что-то не нашел как вывести лог. Мне желательно мониторить фоновый
процесс загрузки

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 24701; Возраст листа: 939; Участников: 1468
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/517367

Ответить   Sat, 18 Feb 2006 20:30:17 +0000 (#517367)