def set_hosts_file(hosts="/etc/hosts"):
import socket
if not os.path.exists(hosts):
if not os.path.exists(os.path.dirname(hosts)):
os.makedirs(os.path.dirname(hosts))
with open(hosts, "w") as f:
hosts_url = "https://raw.githubusercontent.com/racaljk/hosts/master/hosts"
conn = requests.head(hosts_url)
if conn.status_code != 200:
hosts_url = "https://coding.net/u/scaffrey/p/hosts/git/raw/master/hosts"
curl = pycurl.Curl()
curl.setopt(pycurl.URL, hosts_url)
curl.setopt(pycurl.CAINFO, certifi.where())
curl.setopt(pycurl.WRITEDATA, f)
curl.perform()
curl.close()
hostname = socket.gethostname() # socket.getfqdn()
print hostname
try:
ip = socket.gethostbyname(socket.gethostname()) # TODO(Guodong Ding) Ubuntu not passed here, but CentOS passed!
except Exception as _:
del _
ip = None
with open(hosts, "a") as f:
if ip is not None:
appended_content = "\n" + "127.0.0.1 " + hostname + "\n" + ip + " " + hostname + "\n"
else:
appended_content = "\n" + "127.0.0.1 " + hostname + "\n"
f.write(appended_content)
评论列表
文章目录