定时动态获取公网ip并传送至ftp服务器

  

一、需求分析

由于之前家里上网是拔号上的网,获取是公网ip,绑定花生壳动态域名(账)号,再通过端口映射即可轻松在任何有网络的地方远程连接到家里电脑H,最近花生壳要求实名认证了,我去,这么烦的人,想想原理,和已有的资源,自己动手用python写了一个,

思路:

通过在要映射访问的电脑H(家)上用python动态获取出口公网ip,定时10分钟获取并上传到远程ftp (ftp + ssl)服务器上,想要连接H的时候,到服务器上获取公网ip(可以通过脚本自动拉取,也可以需要连接的时候上去看),再远程连接H电脑。


二,获取公网ip并自动上传脚本

1,脚本getip。py

 

2,添加计划任务

在H电脑的控制面板中,计划任务中添加类似如下计划任务如图:

定时动态获取公网ip并传送至ftp服务器

注意:我的H电脑是xp,其他的windows系统计划任务类似,Linux也支持,但需要注意脚本中的文件路径修改。


三,带gui的获取ip和上传

1,在之前的代码基础上添加如下代码:

,,,app =, wx.App ()   ,,,frame =, wx.Frame(没有,,title=盎袢”净隹诠鴌p”,,大?(300,,180))   ,,,panel =, wx.Panel(框架)   ,,,sBox =, wx.BoxSizer (),   ,,,vBox =, wx.BoxSizer (wx.VERTICAL),   ,,,content =, wx.TextCtrl(面板、风格=wx.TE_MULTILINE  | wx.TE_CENTER)   ,,,btn1 =, wx.Button(面板,,标签=被袢 ?   ,,   ,,,sBox.Add (btn1,,比例=1,国旗=wx.EXPAND  |, wx.ALL,,边境=5)   ,,,vBox.Add (sBox,,比例=1,国旗=wx.EXPAND  |, wx.ALL,,边境=5)   ,,,vBox.Add(内容,,=1,比例,国旗=wx.EXPAND  |, wx.ALL,,边境=5)   ,,,btn1.Bind (wx.EVT_BUTTON, GETIP)   ,,,,   ,,,panel.SetSizer (vBox)   ,,,frame.Show ()   null

定时动态获取公网ip并传送至ftp服务器