因项目部署在内网中,域名对应的ip地址没有发布到互联网的DNS解析中,所以需要在用户电脑增加hosts映射,但是因为用户对电脑不了解,即便有手册也经常会有疑问,所以使用python编写脚本,打包exe后,用户只需要执行即可新增所需的hosts映射,方便你我他!
实现功能如下:
1、备份原hosts文件至hosts_bak文件夹。
2、取消原hosts文件的只读和隐藏属性,并新增所需hosts记录至文件中。
3、重新设置hosts文件的只读和隐藏属性,防止恶意篡改。
4、若hosts映射发生变更,可以设置单独的变量,重新运行后会删除该条已废弃的映射。
代码如下:
import ctypes
import os
import sys
import shutil
import re
# 设置 hosts 文件路径
hosts_file = r"C:\Windows\System32\drivers\etc\hosts"
backup_dir = os.path.join(os.path.dirname(hosts_file), "hosts_bak")
# 要删除的IP地址
search_ip = "00.00.00.26"
# 要添加的条目
entries = [
"00.00.00.9 sin-web.com",
"00.00.00.9 zl-sin.com",
"00.00.00.60 report.sin-web.com",
"00.00.00.109 sin-web-test.com",
"00.00.00.109 zl-sin-test.com",
"00.00.00.107 report.sin-web.com"
]