Комментарии 35
на яндекс можно быложе только почту увести, а сам домен запарковать где-то в другом месте…
я пока использую freedns.ws
долгие поиски привели меня на pointhq.com, в котором за год не было повода разочароваться
dns.he.net. Не скупит — силёнок не хватит.
юзаю freedns.afraid.org
вполне вменяемый)
вполне вменяемый)
xname.org + secondary.net.ua
Первым делом я отправился к всезнающему Google в поисках хоть какой нибудь информации об API сервисов Яндекса.
Шикарная фраза :-)
По моему, не стоит путать динамический DNS с нормальным. У первого TTL мало, у второго значительное.
НЛО прилетело и опубликовало эту надпись здесь
Бесплатные динамические ДНС с возможностью работы по АПИ — habrahabr.ru/blogs/i_am_advertising/103676/
Эх, кто бы Вин/Мак приложение написал… =)
Эх, кто бы Вин/Мак приложение написал… =)
Я конечно понимаю что Google и все дела, но кажется что API яндекса логичнее было искать самим яндексом.
Поищи например по запросу «Яндекс карты на сайт»
yandex.ru/yandsearch?text=%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81+%D0%BA%D0%B0%D1%80%D1%82%D1%8B+%D0%BD%D0%B0+%D1%81%D0%B0%D0%B9%D1%82&lr=213
www.google.ru/search?ie=UTF-8&hl=ru&q=%25D0%25AF%25D0%25BD%25D0%25B4%25D0%25B5%25D0%25BA%25D1%2581%2520%25D0%25BA%25D0%25B0%25D1%2580%25D1%2582%25D1%258B%2520%25D0%25BD%25D0%25B0%2520%25D1%2581%25D0%25B0%25D0%25B9%25D1%2582
Какие после этого могут быть вопросы? API яндекса ищите только в гугле))
yandex.ru/yandsearch?text=%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81+%D0%BA%D0%B0%D1%80%D1%82%D1%8B+%D0%BD%D0%B0+%D1%81%D0%B0%D0%B9%D1%82&lr=213
www.google.ru/search?ie=UTF-8&hl=ru&q=%25D0%25AF%25D0%25BD%25D0%25B4%25D0%25B5%25D0%25BA%25D1%2581%2520%25D0%25BA%25D0%25B0%25D1%2580%25D1%2582%25D1%258B%2520%25D0%25BD%25D0%25B0%2520%25D1%2581%25D0%25B0%25D0%25B9%25D1%2582
Какие после этого могут быть вопросы? API яндекса ищите только в гугле))
Не используйте httplib, он зело плохой на нагрузке >0. Странные глюки с кешированием и отваливающимися запросами. В свое время пришлось переписать couchdb-python на использование curl вместо оригинального httlib. 500-е ошибки на продакшн-сервере как рукой сняло.
В смысле использовать pycurl вместо httplib/urllib?
К urllib никаких претензий, благо что он в stdlib питона. Простой как топор и работает нормально, а вот httplib берет на себя черезчур много. Пул коннектов, кэш, куки. В итоге, почему-то, при увеличенном loadaverage, начинаются глюки.
Я для чего-то более сложного чем просто запрос-ответ — pycurl. Он банально функциональнее и удобнее. Не претендую на вселенскую истину.
Как всегда код поругаю…
1) Уж очень сильная любовь к регуляркам. Надо искоренять!
2) Для конфигов ну хотя-бы ConfigParser (.ini файлы)
3) Вместо
4) С timestamp не понял плясок… Можно просто
5) Тут не критично, но вообще файлы после использования принято закрывать ибо есть лимит на 1024 открытых файла для программы
6) использовать в качестве имен переменных имена встроенных функций неприкольно. Трудно будет баг отловить. Так что заменяем
Но вообще, для первой программы на питоне очень даже ничего!
1) Уж очень сильная любовь к регуляркам. Надо искоренять!
2) Для конфигов ну хотя-бы ConfigParser (.ini файлы)
3) Вместо
content = 'login={0}&passwd={1}×tamp={2}'
content = content.format(self._login, self._passwd, self.timestamp())
и т.п. делаем content=urllib.urlencode({
'login': self._login,
'passwd': self._passwd,
'timestamp': self.timestamp()})
4) С timestamp не понял плясок… Можно просто
int(time.time()*1000)
5) Тут не критично, но вообще файлы после использования принято закрывать ибо есть лимит на 1024 открытых файла для программы
file = open('config', 'r')
config = file.read()
заменяем на file = open('config', 'r')
config = file.read()
file.close()
а еще лучше на with open('config', 'r') as file:
config = file.read()
6) использовать в качестве имен переменных имена встроенных функций неприкольно. Трудно будет баг отловить. Так что заменяем
with open('config', 'r') as file:
config = file.read()
на with open('config', 'r') as f:
config = f.read()
(т.к. file это встроенная функция)Но вообще, для первой программы на питоне очень даже ничего!
Спасибо за замечания, я до urllib еще не добрался в изучении, впрочем как и до многих других тонкостей…
По поводу timestamp — у Яндекса timestamp это количество миллисекунд с UNIX Time (=
По поводу timestamp — у Яндекса timestamp это количество миллисекунд с UNIX Time (=
> По поводу timestamp — у Яндекса timestamp это количество миллисекунд с UNIX Time (=
Так time.time() — количество секунд с unixtime. Домножаешь на 1000 — получаешь миллисекунды.
Они к javascript'ному time(), видимо, привязались, там тож миллисекунды по умолчанию выдает.
Так time.time() — количество секунд с unixtime. Домножаешь на 1000 — получаешь миллисекунды.
Они к javascript'ному time(), видимо, привязались, там тож миллисекунды по умолчанию выдает.
In [1]: import time, datetime
In [2]: print int(time.time())*1000 + datetime.datetime.now().microsecond/1000 ; print int(time.time()*1000)
1309337559396
1309337559396
До точки с запятой ваш вариант, после — мой. Результаты одинаковые. Фишка в том, что (у меня по крайней мере) time.time() возвращает время в виде float с миллисекундами. Хотя если делать
int(time.time())*1000
вместо int(time.time()*1000)
то этого можно и не заметить.Еще один побочный эффект вашего подхода — вы 2 раза обращаетесь к системным часам: один раз в
datetime.datetime.now()
и второй раз в time.time()
. И, строго говоря, время может быть получено разное т.к. между вызовами datetime.datetime.now()
и time.time()
тоже проходит какое-то время)) Если хочется из datetime.now() получить его UNIX timestamp, то проще всего сделать как-то так так:dt_now=datetime.datetime.now()
time.mktime(dt_now.timetuple())
Прописали бы CNAME на dyndns-овское имя.
А как быстро обновляются зоны на yandex после отправки запроса?
Просто сейчас начал писать нечто похожее на c++ для reg.ru но у них походу после отправки данных еще есть тайаут на вступление изменений в силу… минут 15, что не очень приятно, ведь сайт это время не доступен…
Как обстоят с этим дела у яндекса?
Как быстро на это реагировал канувший в историю фрии аккаунт на dyndns?
Спасибо.
Просто сейчас начал писать нечто похожее на c++ для reg.ru но у них походу после отправки данных еще есть тайаут на вступление изменений в силу… минут 15, что не очень приятно, ведь сайт это время не доступен…
Как обстоят с этим дела у яндекса?
Как быстро на это реагировал канувший в историю фрии аккаунт на dyndns?
Спасибо.
Это зависит не только от DNS-сервиса, но и от провайдеров (как конечного, так и магистральных).
У меня на разных провайдерах DNS-хостинг Яндекса обновлял записи менее чем за 3 минуты.
Кроме того, вы сами настраиваете параметры зоны, такие как TTL, REFRESH, RETRY и т.д.
У меня на разных провайдерах DNS-хостинг Яндекса обновлял записи менее чем за 3 минуты.
Кроме того, вы сами настраиваете параметры зоны, такие как TTL, REFRESH, RETRY и т.д.
Ну на регру так же обстоит ситуация.
В итоге их 15 минутный таймаут на самом деле 2-5 минуты… так что не критично кого выбирать.
А есть идеи как решить проблему с недоступностью сайта эти 2-5 минут?
В итоге их 15 минутный таймаут на самом деле 2-5 минуты… так что не критично кого выбирать.
А есть идеи как решить проблему с недоступностью сайта эти 2-5 минут?
Просто интересно получается… вот тебе и бесплатный ddns от вроде как не левых компаний :)
странно…
странно…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
DNS-хостинг Яндекса vs Динамический IP