【发布时间】:2014-08-25 07:19:08
【问题描述】:
我有一台笔记本电脑,它有一个静态 IP (193.2.1.8),是一个小型本地专用网络的一部分,无法访问互联网。很多时候,我需要执行以下操作:
- 从笔记本电脑上断开专用网络的网线。
- 将笔记本电脑连接到可以访问互联网的局域网电缆。
- 在 windows 网络配置中将 IP 配置从 静态 IP 更改为 自动检测。
- 打开 FileZilla(一个 FTP 程序)并将其连接到 FTP 站点,选择一个文件(一个已知的文件名)并下载到硬盘上的特定位置。
- 然后断开可以上网的网线。
- 把私网的网线接回去。
- 将 IP 配置改回原来的静态 IP 和子网掩码。
我想简单介绍一下这个过程。因此考虑创建一个 Python 脚本,将
- 自动更改 windows 的 IP 配置。
- 连接到 FTP 站点并将文件下载到某个位置。
- 将 IP 配置改回原来的设置。
感谢 SO 上建议使用 WMI 模块的帖子,我设法使用 WMI 模块更改 IP 配置,如下所示:
import wmi
nic_configs=wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
nic = nic_configs[0]
nic.EnableDHCP()
但我现在的问题是,我如何知道我是否可以安全地进行 FTP 操作?启用 DHCP 后如何知道 Internet 连接是否在线?
对于FTP操作,我正在考虑使用ftplib。
有没有更好的方法来解决这个问题?
仅供参考:我使用的是 windows XP SP3 32 位,python 2.7.5
【问题讨论】:
-
你可以试试cis-yogesh.github.io/Python_sftp_client 可能会解决你的问题。但我不确定。
标签: python python-2.7 ftp wmi ftplib