python程序让站长网站自动回源
本文最后更新于 411 天前,其中的信息可能已经有所发展或是发生改变。

最近由于本人使用了CDN的缘故,又要经常登陆,使用CDN是不可以登陆的,所以小编就要经常在hosts文件中回源网站来管理后台,可是有时又想看看CDN的效果和网站速度,就又要取消回源··········

这样一来二去,加上hosts文件那个深藏不漏的地方,小编改的都快烦死了··········

于是又是灵机一动,如何不用python呢,自动修改岂不是更方便??

于是本来想着很简单呢,写了近100行代码,水平比较臭,还望大神们多加指点.

#!/usr/bin/env python
#Author:[email protected]

import platform,shutil,os
if platform.system() == "Windows":
    filepath = 'C:\Windows\System32\drivers\etc\hosts'
elif platform.system() == "Linux":
    filepath = '/etc/hosts'
else:
    input ('找不到hosts文件,手动输入位置:')
if os.path.isfile(filepath) == True:
    shutil.copy(filepath,'hosts')
else:
    print('文件不存在,退出!')
    exit()
if os.path.isfile('website.ini') == True:
    stat = input('是否使用配置文件? ')
    if stat in ['Y','y']:
        tempini = open('website.ini','rU')
        templine = tempini.readlines(100000)
        target = templine[0].strip('\n')
        ip = templine[1]
        tempini.close()
else:
    target = input('输入要回源或者取消回源的域名:')
    ip = input('输入要回源的IP:')
    temp = open('website.ini','w')
    temp.write(target+'\n'+ip)
    temp.close()
count = 0
n = 0
while True:
    file = open(filepath)
    while 1:
        for line in file:
            count += 1
            line = line.strip('\n')
            if line.startswith('#'):
                n += 1
                continue
            if 'www.nfishs.com' in line:
                break
            else:
                n += 1
        file.close()
        if n == count:
            count = 'fail'
            break
        else:
            file = open(filepath)
            print ('在'+str(n+1)+'行匹配到目标,取消回源····')
            newfile = open((filepath[0:-5]+'hostsnew'),'w')
            line = file.readlines(100000)
            newfile.write((''.join(line[0:n]))+(''.join(line[n+1:])))
            newfile.close()
            file.close()
            try:
                os.remove(filepath)
            except:
                input('无法写入文件,如文件丢失,本目录下有备份,按回车键退出!')
                os.remove(filepath[0:-5]+'hostsnew')
                exit()
            else:
                os.chdir(filepath[0:-6])
                os.rename('hostsnew','hosts')
                print('清理缓存···')
                os.system('ipconfig /flushdns')
                print('')
                input('取消回源成功,按回车键退出!')
                exit()
    break
if count == 'fail':
    file = open(filepath,'a')
    print ('在文件中未匹配到目标,回源····')
    file.writelines(ip+" "*4+target+'\n')
    file.close()
    print('清理缓存···')
    os.system('ipconfig /flushdns')
    print('')
    input('回源成功!按下回车键退出····')

会在第一次使用时候问你的要回源的域名和对应IP,然后生成配置,以后选择是否使用就行了

会自动检测是不是有对应的域名存在,有的话取消,没有的话就添加。

另外,请windows下的使用者去除第一行的 #!/usr/bin/env python

这会导致在python3的win版中无法正常运行的情况,还有,请勿删除website.ini文件,虽然很简单,但是他能减少工作量~~~

假期马上就要完了·············我要去写作业了·············

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇