因为很多地方Gmail打开很慢很慢,老哥也老是这么抱怨,虽然我不太相信改hosts能快到哪里去,但是实践证明的确有不错的效果。因此试着写一段简单的脚本,通过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:\Windows\System32\drivers\etc\hosts', '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')
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,重启浏览器生效!'