Python Tkinter 界面:发送请求并显示结果,添加删除功能
import tkinter as tk import requests
def sendtoserver(_webvpn_key, JSESSIONID1, JSESSIONID2): cookies = { 'Ecp_ClientId': '4230320161502054271', 'sensorsdata2015jssdkcross': '%7B%22distinct_id%22%3A%22186fe9b438515-0d748451c05e648-1e525634-1296000-186fe9b438652%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%7D%2C%22%24device_id%22%3A%22186fe9b438515-0d748451c05e648-1e525634-1296000-186fe9b438652%22%7D', '_webvpn_key': 'eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiMjAwNTAyMTQwMjI0IiwiZ3JvdXBzIjpbMTIxLDFdLCJpYXQiOjE2ODA4Nzk5ODMsImV4cCI6MTY4MDk2NjM4M30.NbCh7GQDfdGMmEKg-2CRw6vGuuhGvuyClzsXWkL4TMY', 'webvpn_username': '200502140224%7C1680879983%7C92b70d0a01a6b70b67df9fb695a05fe64f574000', 'JSESSIONID': '88E5F0A4D2E6C19117A295797417F737', }
headers = {
'authority': 'jwgl.webvpn.nepu.edu.cn',
'accept': 'application/json, text/javascript, */*; q=0.01',
'accept-language': 'zh-CN,zh;q=0.9',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
# 'cookie': 'Ecp_ClientId=4230320161502054271; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22186fe9b438515-0d748451c05e648-1e525634-1296000-186fe9b438652%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%7D%2C%22%24device_id%22%3A%22186fe9b438515-0d748451c05e648-1e525634-1296000-186fe9b438652%22%7D; _webvpn_key=eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiMjAwNTAyMTQwMjI0IiwiZ3JvdXBzIjpbMTIxLDFdLCJpYXQiOjE2ODA4Nzk5ODMsImV4cCI6MTY4MDk2NjM4M30.NbCh7GQDfdGMmEKg-2CRw6vGuuhGvuyClzsXWkL4TMY; webvpn_username=200502140224%7C1680879983%7C92b70d0a01a6b70b67df9fb695a05fe64f574000; JSESSIONID=88E5F0A4D2E6C19117A295797417F737',
'dnt': '1',
'origin': 'https://jwgl.webvpn.nepu.edu.cn',
'referer': 'https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq',
'sec-ch-ua': ''Google Chrome';v='111', 'Not(A:Brand';v='8', 'Chromium';v='111'',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': ''macOS'',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
}
data = {
'page': '1',
'rows': '20',
'sort': 'k501.cjsj',
'order': 'desc',
}
response = requests.post('https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq/datas', cookies=cookies, headers=headers, data=data)
print(response.text)
res_json=response.json()
#{'rows':[{'dqszj':2020,'rownum_':1,'shjgsm':'无','xsxm':'刘晓峰','qssj':'08:00:00','yxmc':'地球科学学院','dqshjd':'1','cjsj':'2023-03-03 06:51:19','yxdm':'00001','jssj':'09:35:00','sqdm':'10020686','qsrq':'2023-03-03','filepath':'D3852C2F79657496CBCA0FEF747E62BDD45823821FF2B0C7658D192D54A9D227A4D0E330D48BCB59D9194E0E4115A052','bz':'流感头疼','sfxwzs':'0','shztdm':'3','sflx':'0','jsjcdm':'02','zymc':'勘查技术与工程','fileext':'jpg','sfxj':'0','bjmc':'勘技(测井)2020-3班','qjlxdm':'02','filename':'1677797421147.jpg','qjxss':'2','jsrq':'2023-03-03','xsbh':'200102140316','xsdm':'100262944','qsjcdm':'01','ts':0.2,'bjdm':'105563578'},{'dqszj':2020,'rownum_':2,'shjgsm':'无','xsxm':'刘晓峰','qssj':'13:30:00','yxmc':'地球科学学院','dqshjd':'1','cjsj':'2021-10-13 13:43:08','yxdm':'00001','jssj':'15:05:00','sqdm':'10009832','qsrq':'2021-10-13','filepath':'D98249E70BC6F988E0897948CEC61EA33AA8379068656E62CF59490C4E617A58','bz':'拉肚子','sfxwzs':'0','shztdm':'3','sflx':'0','jsjcdm':'06','zymc':'勘查技术与工程','fileext':'gif','sfxj':'0','bjmc':'勘技(测井)2020-3班','qjlxdm':'02','filename':'2555E7BB.gif','qjxss':'2','jsrq':'2021-10-13','xsbh':'200102140316','xsdm':'100262944','qsjcdm':'05','ts':0.2,'bjdm':'105563578'},{'dqszj':2020,'rownum_':3,'shjgsm':'无','xsxm':'刘晓峰','qssj':'09:55:00','yxmc':'地球科学学院','dqshjd':'1','cjsj':'2021-09-13 09:48:07','yxdm':'00001','jssj':'11:30:00','sqdm':'10008342','qsrq':'2021-09-13','filepath':'07D8240270052FD27680376C997F538A9E3557DDB7FF9F01FFFF62B1792C64F8','bz':'拉肚子','sfxwzs':'0','shztdm':'3','sflx':'0','jsjcdm':'04','zymc':'勘查技术与工程','fileext':'jpg','sfxj':'0','bjmc':'勘技(测井)2020-3班','qjlxdm':'02','filename':'微信图片_20210913094636.jpg','qjxss':'2','jsrq':'2021-09-13','xsbh':'200102140316','xsdm':'100262944','qsjcdm':'03','ts':0.2,'bjdm':'105563578'}]}
bingding = []
for i in res_json['rows']:
print(i['qsrq'],i['qssj'],i['jsrq'],i['jssj'],i['bz'])
bingding.append(i['qsrq']+' '+i['qssj']+' '+i['jsrq']+' '+i['jssj']+' '+i['bz']+'sqdm:'+i['sqdm'])
return bingding
def delserver(sqdm): # 在这里实现删除操作,例如发送请求到服务器,将 sqdm 传递给服务器进行删除 print(f'删除请求已发送,sqdm: {sqdm}')
def on_submit(): # 获取文本框的值并调用sendtoserver函数 _webvpn_key = entry1.get() JSESSIONID1 = entry2.get() JSESSIONID2 = entry3.get() result = sendtoserver(_webvpn_key, JSESSIONID1, JSESSIONID2)
# 在列表框中添加返回结果
listbox.delete(0, tk.END) # 清空列表框
for i in result:
listbox.insert(tk.END, i)
def on_delete(): # 获取选中项的 sqdm 并调用 delserver 函数 selected_index = listbox.curselection() if selected_index: selected_item = listbox.get(selected_index[0]) sqdm = selected_item.split('sqdm:')[-1] delserver(sqdm) listbox.delete(selected_index[0])
创建主窗口和文本框
window = tk.Tk() window.title('Send to Server') label1 = tk.Label(window, text='_webvpn_key:') label1.grid(row=0, column=0) entry1 = tk.Entry(window) entry1.grid(row=0, column=1) label2 = tk.Label(window, text='JSESSIONID1:') label2.grid(row=1, column=0) entry2 = tk.Entry(window) entry2.grid(row=1, column=1) label3 = tk.Label(window, text='JSESSIONID2:') label3.grid(row=2, column=0) entry3 = tk.Entry(window) entry3.grid(row=2, column=1)
创建确定按钮
submit_button = tk.Button(window, text='确定', command=on_submit) submit_button.grid(row=3, column=0, columnspan=2)
创建删除按钮
delete_button = tk.Button(window, text='删除', command=on_delete) delete_button.grid(row=3, column=2, columnspan=2)
创建列表框
listbox = tk.Listbox(window) listbox.grid(row=5, column=0, columnspan=5)
进入主循环
window.mainloop()
原文地址: https://www.cveoy.top/t/topic/ndl8 著作权归作者所有。请勿转载和采集!