• 使用Python自动修改host
  • 发布于 2个月前
  • 224 热度
    0 评论
  • T-Bag
  • 1 粉丝 18 篇博客
  •   
在测试中,有的时候经常要修改host文件,手动虽然也没有那么麻烦,但自动化会高效,更准确。

为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问。而这使得访问网站时要先将其域名解析成 IP 。DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP。

测试中,我们的测试环境会经常变,有的时候host文件会改来该去。手动敲起来麻烦。

废话不多说,上代码:
__author__ = 'Anderson'
# coding=utf-8
import os
import re
import time
import platform
host_window = r"C:\Windows\System32\drivers\etc\hosts"
host_mac = r"/etc/hosts"
UAT_HOST = ["#B2B uat deepblue2",
                '10.128.xx.xx uat.xx.com',
                '10.128.xx.xx xx.com',
                '10.128.xx.xx xx.com']

HOST_LIVE = ["#LIVE",
             "104.20.xx.xx       xxx.com",
             "104.20.xx.xx       www.xxx.com",
             "104.20.xx.xx       www.xxx.br"]
def search_host(hostvalue, host_path):
    hostfile = open(host_path, 'r')
    each_line = hostfile.readlines()
    hostfile.close()
    findresult = re.findall(hostvalue, ''.join(each_line))
    return findresult

def write_host(hostvalue):
    if system is "Windows":
        output = open(host_window, 'a')
    else:
        output = open(host_mac, 'a')
    for insid in hostvalue:
        output.write(insid)
        output.write("\n")
    output.close()
if __name__ == "__main__":
    if search_host(HOST_LIVE[0]):
        print("it exist, no need to update")
    else:
        write_host(HOST_LIVE)

当然这只是个简单的例子,各种环境的都写一个文件里,只要指定环境,运行代码自动替换。

现在还有一种情况,就是翻墙。天朝,你懂的。但是有人会将最新的,没有封杀的google ip 贡献出来。
以上代码稍微该改,就能科学上网了。
用户评论