本帖最后由 凯观生活 于 2024-1-2 02:07 编辑
一个IP地址信息查询工具Python源代码
[Python] 纯文本查看 复制代码 from tkinter import *
from tkinter import ttk
import requests
def query_ip():
ip = entry.get()
if not ip:
# 如果用户没有输入 IP 地址,查询本机公网 IP 地址
response = requests.get('https://api.ipify.org')
if response.status_code == 200:
ip = response.text
entry.delete(0, END)
entry.insert(END, ip)
else:
text.delete(1.0, END)
text.insert(INSERT, '查询失败')
return
url = f'https://wq.apnic.net/apnic-bin/jwhois.pl?ip={ip}'
response = requests.get(url)
if response.status_code == 200:
result = response.text
formatted_result = format_result(result)
text.delete(1.0, END)
text.insert(INSERT, formatted_result)
with open(f'{ip}.log', 'w') as f:
f.write(f'查询IP:{ip}\n查询结果:{formatted_result}\n')
else:
text.delete(1.0, END)
text.insert(INSERT, '查询失败')
def format_result(result):
# 这里需要根据实际的返回结果进行格式化
return result
root = Tk()
root.title('IP信息查询-数据来源APNIC-PoweredBy KGSH')
root.geometry('600x400')
Label(root, text='请输入IP地址或直接默认本机公网IP查询').pack(pady=10)
frame = ttk.Frame(root, padding=(20, 10))
frame.pack(fill=BOTH)
entry = ttk.Entry(frame)
entry.pack(side=LEFT, padx=(0, 10))
# 获取本机公网 IP 地址并设置为输入框的默认值
response = requests.get('https://api.ipify.org')
if response.status_code == 200:
ip = response.text
entry.insert(END, ip)
button = ttk.Button(frame, text='查询', command=query_ip)
button.pack(side=LEFT)
text = Text(root, wrap=WORD, relief=SUNKEN, borderwidth=1)
text.pack(fill=BOTH, padx=20, pady=10)
root.mainloop()
本文章(以下简称“文章”)旨在促进技术交流和学习。这些文章仅代表作者个人观点,不代表任何公司、组织或个人。
在阅读、下载、复制、传播或以其他方式使用文章内容时,请注意以下几点:
合法用途:文章仅可用于技术交流、学习和个人非商业目的。您不得以任何方式将文章内容用于违反法律、法规、道德准则或其他不合规的用途。
文章准确性和完整性:文章中的信息可能会有所疏漏或不完整。您需自行承担使用文章中的信息所带来的风险,并在适用的情况下寻求专业建议。作者和本博客/网站对文章中的错误或不足之处不承担任何责任。
衍生作品:如需基于文章创作衍生作品,请事先获得作者的书面许可,并确保遵循相关许可条款。
担保和声明:作者和本博客/网站明确否认对文章的适用性、充分性、准确性、可靠性或完整性作出任何明示或默示的担保和声明。
如您违反上述条款,作者和本博客/网站保留随时终止您使用文章、追究法律责任并要求赔偿损失的权利。
|