#!/usr/bin/python3
# 导入 socket、sys 模块
import socket
import sys
import pysftp
import tkinter as tk
from paramiko.ssh_exception import AuthenticationException
host = '192.168.80.130'
port = 22
def check_account_pwd(username,password):
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
try:
connObj = pysftp.Connection(host=host, username=username, password=password, cnopts=cnopts)
print("用户名密码是正确的")
connObj.close()
root1 = tk.Tk()
info_label = tk.Label(root1, text="1)用户名密码正确\n2)密码在有效期内\n3)客户端ip地址已绑定到FTP服务器")
info_label.grid(column=0, row=1, padx=2, pady=2)
# info_label1 = tk.Label(root1, text="1)用户名密码正确")
# info_label1.grid(column=0, row=1, padx=2, pady=2)
# info_label2 = tk.Label(root1, text="2)密码在有效期内")
# info_label2.grid(column=0, row=2, padx=2, pady=2)
# info_label3 = tk.Label(root1, text="3)客户端ip地址已绑定到FTP服务器")
# info_label3.grid(column=0, row=3, padx=2, pady=2)
btn1 = tk.Button(root1, command=root1.destroy)
btn1.grid(column=0, row=5, padx=2, pady=2)
btn1["text"] = "确定"
root1.title('提示')
root1.geometry("220x100")
except AuthenticationException as err:
print(str(err))
print("用户名密码不对,或者密码过期,或者客户端ip地址未绑定到FTP服务器,请联系洪守业或史平忠")
root1 = tk.Tk()
info_label = tk.Label(root1,text="用户名密码不对\n或者密码过期\n或者客户端ip地址未绑定到FTP服务器\n请联系洪守业或史平忠")
info_label.grid(column=0, row=1, padx=2, pady=2)
btn1 = tk.Button(root1, command=root1.destroy)
btn1.grid(column=0, row=5, padx=2, pady=2)
btn1["text"] = "确定"
root1.title('提示')
root1.geometry("220x120")
except Exception as err:
print(str(err))
print("用户名密码不对,或者密码过期,或者客户端ip地址未绑定到FTP服务器,请联系洪守业或史平忠")
root1 = tk.Tk()
info_label = tk.Label(root1,text="用户名密码不对,或者密码过期,或者客户端ip地址未绑定到FTP服务器,请联系洪守业或史平忠")
info_label.grid(column=0, row=1, padx=2, pady=2)
btn1 = tk.Button(root1, command=root1.destroy)
btn1.grid(column=0, row=5, padx=2, pady=2)
btn1["text"] = "确定"
root1.title('提示')
root1.geometry("220x120")
def account_pwd_values():
# 获取Entry小部件中的文本值
account = account_entry.get()
pwd = pwd_entry.get()
root.destroy()
check_account_pwd(account,pwd)
root = tk.Tk()
label = tk.Label(root)
btn1 = tk.Button(root, command=root.destroy)
btn1["text"] = "确定"
root.title('提示')
# server = '10.54.19.3'
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(4) # 超时为4秒
try:
s.connect((host, port))
msg = s.recv(64)
# s.connect(('10.54.2.134', 22))
# 接收小于 1024 字节的数据
except TimeoutError as err:
label["text"]='网络不通,请联系洪守业或史平忠'
label.place(x=100, y=50, anchor='s')
btn1.place(x=100, y=90, anchor='s')
root.geometry("200x100")
root.mainloop()
sys.exit()
else:
print("网络是通的")
finally:
s.close()
# 创建第一个输入框
account_label = tk.Label(root, text="帐号:")
account_label.grid(column=0,row=0,padx=2,pady=2)
account_entry = tk.Entry(root,bd=1,relief=tk.SOLID)
account_entry.grid(column=1,row=0,columnspan=2,padx=2,pady=2)
# 创建第二个输入框
pwd_label = tk.Label(root, text="密码:")
pwd_label.grid(column=0,row=1,padx=2,pady=2)
pwd_entry = tk.Entry(root,bd=1,relief=tk.SOLID)
pwd_entry.grid(column=1,row=1,columnspan=2,padx=2,pady=2)
# 创建一个按钮,并绑定事件处理函数
button = tk.Button(root, text="确定", command=account_pwd_values)
button.grid(column=1,row=2,columnspan=2,padx=2,pady=2)
root.geometry("220x100")
# 运行窗口的主循环
root.mainloop()