Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: как на sh отследить статус icq ?  (Прочитано 828 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 498
  • www.skif.biz
    • Просмотр профиля
    • Альтернативные проекты
как на sh отследить статус icq ?
« : 16 Май 2011, 11:56:28 »
На php иногда гугляться такие скрипты с разной степенью работоспособности.
Но хотелось бы то же самое на sh
Т.е. обратиться по адресу http://status.icq.com/online.gif?icq=' .$uin.'&img=1
и отследить переадресацию.
Кто чего может посоветовать?
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: как на sh отследить статус icq ?
« Ответ #1 : 16 Май 2011, 12:22:40 »
man traceroute

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 498
  • www.skif.biz
    • Просмотр профиля
    • Альтернативные проекты
Re: как на sh отследить статус icq ?
« Ответ #2 : 16 Май 2011, 12:34:04 »
man traceroute
Месье знает толк в извращениях!  :2funny:
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: как на sh отследить статус icq ?
« Ответ #3 : 16 Май 2011, 15:21:18 »
$ wget "http://status.icq.com/online.gif?icq=1234567&img=2"
--2011-05-16 15:19:48--  http://status.icq.com/online.gif?icq=1234567&img=2
Resolving proxy.*****... ******
Connecting to proxy.****|****|:3128... connected.
Proxy request sent, awaiting response... 302 Moved Temporarily
Location: /2/online2.gif [following]
--2011-05-16 15:19:48--  http://status.icq.com/2/online2.gif
Connecting to proxy.****|*******|:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 285 [image/gif]
Saving to: `online.gif?icq=1234567&img=2'

100%[===================================================================================>] 285         --.-K/s   in 0.001s  

2011-05-16 15:19:48 (195 KB/s) - `online.gif?icq=1234567&img=2' saved [285/285]

Или вот:
(Нажмите, чтобы показать/скрыть)
Все из командной строки.
Вместо wget можно использовать curl
« Последнее редактирование: 16 Май 2011, 15:26:37 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 498
  • www.skif.biz
    • Просмотр профиля
    • Альтернативные проекты
Re: как на sh отследить статус icq ?
« Ответ #4 : 16 Май 2011, 23:27:39 »
В-общем, вдруг кому пригодится.
Простейший однострочный получатель статуса аськи.
# Получаем данные о статусе бота типа
# <p>The document has moved <a href="/0/online1.gif">here</a>.</p>
# в полученной строке выгрызаем цифру, если 1 - онлайн, если 2 - оффлайн

ICQ_STATUS="`curl http://status.icq.com/online.gif?icq=номераськи 2>/dev/null | grep '<p>' | cut -b45-45`"
ну а дальше по вкусу, что с этим делать..
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: как на sh отследить статус icq ?
« Ответ #5 : 17 Май 2011, 12:03:54 »
Более универсальное решение
curl http://status.icq.com/online.gif?icq=1234567 | gawk '/moved/{s=gensub(/.*\/0\/online([^\.]*).*/,"\\1","g"); print s }'
Выгрызаемая цифра оказывается  в переменной s.
Далее можно с ней делать все, что угодно.
curl http://status.icq.com/online.gif?icq=1234567 | gawk '/moved/{s=gensub(/.*\/0\/online([^\.]*).*/,"\\1","g"); print (s=="1"?"offline":"online") }'
« Последнее редактирование: 17 Май 2011, 12:11:31 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 498
  • www.skif.biz
    • Просмотр профиля
    • Альтернативные проекты
Re: как на sh отследить статус icq ?
« Ответ #6 : 17 Май 2011, 19:13:33 »
Второй код наоборот работает.
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: как на sh отследить статус icq ?
« Ответ #7 : 18 Май 2011, 19:32:29 »
ну в print надо строчки поменять.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

 

Страница сгенерирована за 0.057 секунд. Запросов: 24.