拨号上网的服务器如何获取服务器的IP地址

2015-03-28 20:25:00
hainuo
原创 2386
摘要:动态获取IP地址并提交到dnspod上保证动态域名正确解析
相信大家与我一样,在开发时使用自己公司内部的服务器,通过拨号上网,提供外网服务。之前在荣宝斋大厦的时候没有碰到过IP地址解析不正确的情况,但是搬到电子商务产业创新园之后,却出现了IP地址不正确的情况。我之前使用的是Sohu的IP地址获取服务服务的连接是[http://pv.sohu.com/cityjson](http://pv.sohu.com/cityjson)   通过这个地址可以得到一个城市和IP地址的json数据但是在电子商务产业创新园使用的是中国移动的拨号上网服务,中国移动可能对将用户对互联网接入做了一些调度,从而保证流量的监控吧,导致用户在访问互联网时是经过已经部署在全国的有限的几个出口上。那么我应该如何获取IP地址呢。php通过读取Sohu的json数据已经不行了,那么该怎么办,忽然间想起php能够通过e x e c执行一些脚本。于是我找了一下之前搜索到的一些Python脚本```import socketimport fcntlimport structdef get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24])#print get_ip_address('lo')print get_ip_address('ppp0')```然后通过dnspod的PHP类更新过去DNSpod的PHP类脚本可以见coding的这个git库[https://git.coding.net/hainuo/dnspod.git](http://pv.sohu.com/cityjson)
发表评论
肆 加 壹 =
评论通过审核后显示。