python修改hosts文件加速Gmail访问

发布时间:2019-11-22编辑:脚本学堂
在国内访问gmail邮箱有时那是相当的慢,本节分享一例python代码,通过修改本机hosts文件中mail.google.com的指向,实现加速gmail访问的功能。

一段简单的python/ target=_blank class=infotextkey>python脚本,通过DNS先获得www.google.cn的IP地址,然后,修改hosts将mail.google.com重定向到这个IP上。

遇到的困难:对Windows的目录分隔符和python的转义符重叠这个问题真是绝望,最后不得不采取蠢笨的方法才得以解决。

本来还想增加更多的功能,比如先搜索清空hosts文件里面带mail.google.com的行,或是关闭程序的时候删除已经写入的内容之类的。
不过对正则表达式的知识,还在恶补中,这个以后加上。

代码:
 

复制代码 代码示例:
#!/usr/bin/env python 
# coding=gb2312 
 
'此程序通过修改hosts加速Gmail网页的打开,仅用于ipv4' 
 
import os 
import socket 
 
pingaddress = 'www.google.cn' 
ls = os.linesep 
 
if os.name == 'nt': 
    print "您使用的是 Windows NT 内核操作系统n" 
    hosts = open(r'C:WindowsSystem32driversetchosts', 'a') 
elif os.name == 'posix': 
    print "您使用的是 Unix / linux 内核操作系统n" 
    hosts = open('/etc/hosts', 'a') 
elif os.name == 'mac': 
    print "您使用的是 Mac OS X 操作系统n" 
    hosts = open('/Private/etc/hosts', 'a') 
[python] view plaincopyprint?
else: 
    print "您的操作系统不受支持或者无法识别,程序退出" 
    exit(0) 
 
try: 
    pingip = socket.gethostbyname(pingaddress) 
except socket.gaierror: 
    print "解析DNS失败,请检查您的网络连接!n" 
    pingip = '203.208.46.144' 
 
ip = pingip+' mail.google.com' 
 
print "已将'www.google.cn'的对应IP地址记录为:", 'n', ip, 'n' 
 
hosts.write(ls) 
hosts.write('# Gmail加速程序') 
hosts.write(ls) 
hosts.writelines('%s%s' % (ip, ls)) 
hosts.write(ls) 
hosts.close() 
print '已更改hosts,重启浏览器生效!'