撥號上網的服務器如何穫取服務器的IP地址

2015-03-28 20:25:00
hainuo
原創 2462
摘要:動態穫取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)
發錶評論
伍 加 捌 =
評論通過審核後顯示。