Python更新hosts
1168 ワード
Hostsは拡張子のないシステムファイルで、その役割はいくつかのよく使われるウェブサイトのドメイン名とその対応するIPアドレスを1つの関連する“データベース”を創立することで、ユーザーがブラウザの中で1つの登録する必要があるウェブサイトを入力する時、システムはまず自動的にHostsファイルの中から対応するIPアドレスを探して、いったん探し当てると、システムはすぐに対応するウェブページを開けて、もし探し当てていないならば、DNSドメイン名解析サーバにアドレスを送信してIPアドレスの解析を行う.ここでは、Python 3によるhostsファイルの取得と更新方法について説明します.Windowsシステムにのみ適用されます.LinuxおよびMacシステムでは、
LOCAL_PATH
の値を変更し、DNSキャッシュ呼び出しをリフレッシュするプログラムが必要です.racaljkが提供してくれたGoogle Hostsファイルに感謝しますimport urllib.request
import os
import shutil
HOSTS_URL = 'https://raw.githubusercontent.com/racaljk/hosts/master/hosts'
LOCAL_PATH = r'C:\Windows\System32\drivers\etc\hosts'
def main():
'''Main Function'''
# Download hosts file
urllib.request.urlretrieve(HOSTS_URL, 'hosts')
# Backup old hosts file
if(os.path.exists(LOCAL_PATH + '.bak')):
os.remove(LOCAL_PATH)
else:
shutil.copyfile(LOCAL_PATH, LOCAL_PATH + '.bak')
# Move new file to system
shutil.move('hosts', LOCAL_PATH)
# Update dns cache
os.system('ipconfig /flushdns')
if __name__ == '__main__':
main()