我有一个运行PHP软件的专用网络服务器,需要自动收集和更新我的几台Windows以及可能具有动态IP的Linux机器的IP(与no-ip.com客户端大致相同)。我认为最简单的方法是在每台机器上运行一个服务,它只是从网络服务器中提取一个唯一的URL,然后可以查找客户端IP并将其与URL等匹配。
$_SERVER["HTTP_CLIENT_IP"]
构建客户端服务的最佳语言/库/环境是什么,它可以通过轻松访问计算机的外部IP来生成URL请求(检查动态IP的更改,以免泛滥Web服务器)?它不需要任何花哨的东西,它甚至不需要从服务器读取任何东西,它只需要发出URL请求。
除了网络编程,我还有一些Python和C以及其他一些经验。我可以阅读有关该主题的任何指针或资源。另外,我是否过度思考这个?感谢
答案 0 :(得分:2)
你可以编写一个带有wget调用的shell脚本,然后在循环中调用sleep。
wget执行http请求,它可用于Windows,并且已安装在所有/部分unix计算机上。
答案 1 :(得分:1)
在Python中制作URL请求时,机械化有点过分。这真的很容易:
from urllib2 import urlopen
urlopen("my://url").read()
第一行可能因您的Python版本而异(例如,它在Python 3中为urllib.request
。)
那里有数以百计的“我的知识产权”服务;或者你甚至可以自己写!将其中一个插入URL读取以获取IP。由于无法在路由器上运行代码,因此您必须轮询以确定何时更改。
答案 2 :(得分:0)
如果您已经有某种方法来执行网址请求,请每隔10分钟对此页面执行一次:
http://checkip.dyndns.org/Current%20IP%20Check.htm
它将告诉您“当前IP地址:XXX.XXX.XXX.XXX”,您只需要提取一些字符串数据。
(你只会淹没whatsmyip网络服务器,而不是你自己的网站!)
很高兴帮助
EGOrecords