利用python一键修改host 一键上网

界面比较简单:
在这里插入图片描述

代码如下:

import requests
import re
import os
from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile


class Stats:   #定义类
    def __init__(self):  #导入UI窗口
        #从文件中加载UI界面
        qfle_stats=QFile('github.ui')     
        qfle_stats.open(QFile.ReadOnly)   
        qfle_stats.close()                

        self.ui=QUiLoader().load(qfle_stats)   
        self.ui.pushButton.clicked.connect(self.run)  

    def run(self):
        self.fangwen1()
        self.fangwen2()
        self.fangwen3()
        self.fangwen4()

    def fangwen1(self):  #取ip1
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
        url = requests.get('https://github.com.ipaddress.com/',headers=headers).text
        aa = re.findall("https://www.ipaddress.com/ipv4/" + '(.*?)' + r'\\', url)[0]   
        print(aa)
        global a
        a=aa
        self.ui.lineEdit.setText(aa) # 设置内容
    def fangwen2(self): #取ip2
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
        url = requests.get('https://fastly.net.ipaddress.com/github.global.ssl.fastly.net',headers=headers).text
        aa = re.findall("https://www.ipaddress.com/ipv4/" + '(.*?)' + r'\\', url)[0]    
        print(aa)
        global b
        b=aa

        self.ui.lineEdit_2.setText(aa) # 设置内容
    def fangwen3(self): #取ip3
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
        url = requests.get('https://github.com.ipaddress.com/assets-cdn.github.com',headers=headers).text
        aa = re.findall("https://www.ipaddress.com/ipv4/" + '(.*?)' + r'\\', url)   
        global c, d, e, f
        c=aa[0]
        d=aa[1]
        e=aa[2]
        f=aa[3]

        self.ui.lineEdit_3.setText(aa[0])  
        self.ui.lineEdit_4.setText(aa[1])  
        self.ui.lineEdit_5.setText(aa[2])  
        self.ui.lineEdit_6.setText(aa[3])  
    def fangwen4(self):
        self.remove()
        dir_name = 'C:\Windows\System32\drivers\etc\hosts'
        global a,b,c,d,e,f

        text=a+' github.com\n'+b+' github.global.ssl.fastly.net\n'+c+' assets-cdn.github.com\n'+d+' assets-cdn.github.com\n'+e+' assets-cdn.github.com\n'+f+' assets-cdn.github.com'
        with open(dir_name, 'a+') as zz:
            zz.write(text)
            print('爬取成功')

        self.cmd()

    def remove(self):  #删除指定文件
        try:
            os.remove(r'C:\Windows\System32\drivers\etc\hosts')
        finally:
            print('删除失败')



    def cmd(self):
        dama='ipconfig /flushdns'
        d=os.system(dama)
        print(d)
        self.ui.label_4.setText('hosts更新成功') 



if __name__ == '__main__':
    x=0
    a=''
    b=''
    c=''
    d=''
    e=''
    f=''
    app = QApplication([])
    Stats = Stats()
    Stats.ui.show()
    app.exec_()











注:使用时退出安全卫生,不然可能hosts更新不成功、有空再优化一下代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值