首页 > 编程语言 > 详细

python-tkinter制作小软件 腾讯域名报毒检测

时间:2020-02-29 09:35:57      阅读:65      评论:0      收藏:0      [点我收藏+]

之前因为看见有人需要域名检测腾讯那边是否报毒,然后自己随时练习一下,因为去买一些二手域名可能被腾讯拉入黑名单了,买多的话有个一键检测当然省不少时间,不过这个东西网上倒是有很多检测,但是!有收费的,限制检测数量的,总之完全免费并且随便用的没看见,不知道腾讯那里有多少个检测网站,有一个网站我一直抓不到包,后来在网上查到了另一个地址,简单就拿到api了。

 

tkinter的主要代码:

导入模块我尽量用了from,是为了打包exe文件后尽量减小软件大小

 1 from tkinter import W,E,N,S,Button,Label,Text,Tk
 2 from tkinter import END
 3 import tkinter.messagebox
 4 from threading import Thread
 5 from mains import txymjc
 6 from requests import get
 7 
 8 
 9 
10 def th():
11     t1 = Thread(target=ym_jc)
12     t1.start()
13 
14 def ym_jc():
15     #  读输入的域名
16     text_content = (text1.get("0.0", "end").replace(" ", "")).split("\n")
17     text_content.pop()  # 列表最后一个元素是空删除它
18 
19     if text_content[0] == ‘‘:
20         tkinter.messagebox.showinfo(title=提示, message=麻烦把域名填一下再提交!)
21     else:
22         x=0
23         for url in text_content:     # 这里对输入的域名循环检测
24             data = txymjc(url)        # 这个调用检测核心函数
25             for r in data:
26                 text2.insert(END, data[r] + \n)
27             x = x + 1
28             if x == 10:
29                 break
30 
31 
32 def qk():  # 清空按钮
33     text1.delete(1.0, END)
34     text2.delete(1.0, END)
35 
36 
37 root=Tk() #生成root主窗口
38 root.title(域名检测)
39 root.resizable(0,0)
40 root.geometry(750x560)
41 
42 # 两个布局控件
43 frm1 = tkinter.Frame(root,height=100,width=400,).grid(row=0,column=0,columnspan=2,sticky=N+W)
44 frm2 = tkinter.Frame(root,height=380,width=400,).grid(row=2,column=0,padx=15,sticky=N+W)
45 frm3 = tkinter.Frame(root,height=380,width=260,).grid(row=2,column=1,padx=15,sticky=N+W) # background=‘#FFFFFF‘
46 
47 # 按钮控件
48 Button(frm1,text=开始检测,height=2,width=20,fg=red,font=10,command=th).grid(row=0,columnspan=2,pady=0,padx=15,)
49 Button(frm1,text=清空,height=0,width=8,fg=red,font=10,command=qk).grid(row=0,column=1,columnspan=2,pady=0,padx=15,sticky=E)
50 
51 # 文本标签
52 Label(frm1, text="域名输入区、一行一个域名,一次最多检测10个", height=0,).grid(row=1, column=0,columnspan=1,sticky=W+E+N+S, padx=5,)
53 Label(frm1, text="域名检测结果输出区", height=0,).grid(row=1, column=1,columnspan=1,sticky=W+E+N+S, pady=5,)
54 
55 # 多行输入框
56 text1 = Text(frm1,width=40,height=20,font=10)
57 text2 = Text(frm2,width=30,height=20,font=10)
58 
59 # 布局输入框,这里单独拿出来放,不然出问题
60 text2.grid(row=2,column=1)
61 text1.grid(row=2,column=0)
62 
63 root.mainloop()             #进入消息循环(必需组件)

域名检测的核心函数代码:

其他功能可以自己拓展。

技术分享图片
import requests
import json
from time import localtime
from time import strftime

def txymjc(url):
    api_url = "https://cgi.urlsec.qq.com/index.php?m=check&a=check&url=%s" % url

    headers = {"Host": "cgi.urlsec.qq.com",
               "Referer": "https://urlsec.qq.com",
               "Sec-Fetch-Mode": "no-cors",
               "Sec-Fetch-Site": "same-site",
               "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}
    try:
        text = requests.get(api_url, headers=headers).text
        zidian = json.loads((text[1:-1]))
        data = (zidian[data])

        data_xx = {}
        if data != "查询url格式不正确":
            data_xx[urls] = ("检测URL:" + data[results][url])
            if data[results][whitetype] == 2:  # 域名不正常
                data_xx[whitetype] = ("域名不正常")
                data_xx[WordingTitle] = ("报毒标题:" + data[results][WordingTitle])
                data_xx[Wording] = ("报毒原因:" + data[results][Wording])

            else:  # 域名正常
                data_xx[whitetype] = ("域名正常")

            if data[results][isDomainICPOk] == 0:  # 域名没有备案
                data_xx[isDomainICPOk] = ("域名未备案")

            if data[results][isDomainICPOk] == 1:  # 域名已经备案
                data_xx[isDomainICPOk] = ("域名已备案")
                data_xx[Orgnization] = ("备案负责人:" + data[results][Orgnization])
                data_xx[ICPSerial] = ("备案号:" + data[results][ICPSerial])
            timeArray = localtime(int(data[results][detect_time]))
            otherStyleTime = strftime("%Y-%m-%d %H:%M:%S", timeArray)
            data_xx[detect_time] = "最后检出的时间:" + otherStyleTime

        else:
            data_xx[0] = ("查询url格式不正确")
        return data_xx
    except:
        data_xx[0] = ("查询url格式不正确")
        return data_xx
View Code

 

python-tkinter制作小软件 腾讯域名报毒检测

原文:https://www.cnblogs.com/hongming/p/12381316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!