2012-04-15 2 views
1

У меня есть выделенный веб-сервер с программным обеспечением для PHP, которому необходимо автоматически собирать и обновлять IP-адреса пары Windows и, возможно, Linux-машин, имеющих динамические IP-адреса (примерно такая же идея, как no-ip.com клиент). Самое простое, что нужно сделать, я думаю, чтобы запустить службу на каждой машине, которая просто тянет уникальный URL-адрес с веб-сервера, который может затем выполните поиск IP клиента и его сопоставления с URL и т.д.Служба для веб-сервера ping

$_SERVER["HTTP_CLIENT_IP"] 

Что самый лучший язык/library/environment для создания клиентской службы, которая может сделать URL-запрос с легким доступом к внешнему IP-адресу компьютера (для проверки изменений динамического IP-адреса, чтобы не наводнять веб-сервер)? Это не должно быть ничего необычного, ему даже не нужно ничего читать с сервера, он просто должен сделать запрос URL.

Помимо веб-программирования, у меня есть опыт работы с Python и C и несколькими другими. Любые указатели или ресурсы, которые я могу прочитать по этому вопросу, будут оценены. Кроме того, я передумал это? Благодаря

+0

Все они работают отлично, просто используйте то, что вам лучше известно. –

+0

Язык программирования не является барьером, с другой стороны, если вам приходится обрабатывать огромное количество IP-адресов (и сложность ваших таблиц низкая), то лучше использовать базу данных non-rel вместо MySQL. Обратите внимание: если вы решите использовать MongoDB, его драйверы не так хороши, как Python. – luke14free

+0

Хмм, я, возможно, не был очень ясен. Я не беспокоюсь о сервере. Я просто пытаюсь заставить клиентов делать запрос на веб-сервер с уникальным URL-адресом каждый раз, когда они обнаруживают, что их IP-адрес изменился. Я нашел библиотеку Mechanize python (http://wwwsearch.sourceforge.net/mechanize/), чтобы делать запросы URL, но я не уверен, как превратить это в службу Windows. pywin32? Кроме того, после некоторого исследования клиенты за маршрутизаторами, поэтому, я думаю, у меня нет выбора, кроме как пинговать какой-то внешний сервер, а также быть моим. – SkyNT

ответ

2

вы можете написать скрипт с Wget вызовов, за которыми следует спать в петля.

wget выполняет http-запросы и доступен для окон и уже установлен на всех/некоторых машинах Unix.

0

Если у вас уже есть какой-то метод, чтобы сделать запрос на URL, сделайте один каждые 10 минут на страницу:

http://checkip.dyndns.org/Current%20IP%20Check.htm

которым будет сказать вам «Текущий IP-адрес: xxx.xxx. XXX.XXX ", и вам нужно только извлечь некоторые строковые данные.

(Вы только затопить whatsmyip веб-сервер, а не свой собственный больше!)

Рад помочь

EGOrecords

1

Механизм - это излишний способ создания URL-запросов в Python. Это на самом деле очень просто:

from urllib2 import urlopen 
urlopen("my://url").read() 

Первая строка может изменяться в зависимости от используемой версии Python (например, это urllib.request в Python 3.)

Есть сотни «Каков мой IP» услуги там ; или вы даже можете написать свой собственный! Подключите один из них в URL-адрес, чтобы получить IP-адрес. Вы должны будете опросить, чтобы работать, когда он изменится, поскольку вы не можете запускать код на маршрутизаторе.

Смежные вопросы