文章目录

  • 期末成绩查询
  • Class Signin Automatic
  • Dormitory Signin Automatic
  • Health Report Automatic

PS:某些词汇过不了CSDN审核,所以用英文,真的很无语

期末成绩查询

import requests
import pandas as pd
import jsonstudentcode_list = []
query_url = "http://www.jxusptpay.com:80/stuManagement/App/Achievement/StudentAchievement/getStudentAchievement.action"
query_headers = {"Accept": "application/json, text/javascript, */*; q=0.01","X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Linux; Android 10; V1914A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.101 Mobile Safari/537.36","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","Origin": "http://www.jxusptpay.com","Referer": "http://www.jxusptpay.com/stuManagement/App/Achievement/StudentAchievement.action","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "close"}
query_data = {"pageNum": "1", "pageSize": "13", "semesterID": "5", "examinationID": "-1"} # semesterID指查哪个学期
my_cookies = {"studentCode": "xxxxxxx"} # 提供一个任意一个班级内学号
all_data_list = []
my_resp = requests.post(url=query_url, headers=query_headers, cookies=my_cookies, data=query_data)
my_data_list = json.loads(my_resp.text)['data']['list']
first_row = [data['itemName'] for data in my_data_list]
first_row.insert(0, "姓名")
first_row.append("总分")
all_data_list.append(first_row)
for student_code in studentcode_list:data_row = []query_cookies = {"studentCode": student_code}resp = requests.post(url=query_url, headers=query_headers, cookies=query_cookies, data=query_data)data_list = json.loads(resp.text)['data']['list']stu_name = data_list[0]["name"]data_row.append(stu_name)stu_score = [data['score'] for data in data_list]data_row.extend(stu_score)data_row.append(sum(stu_score))all_data_list.append(data_row)
df = pd.DataFrame(all_data_list)
df.to_excel('class.xlsx')

Class Signin Automatic

需要校园通账号密码

# Python3
# Author: mochu7
import requests
import json
import datetime
import timeStudentAccount = [['张三', '账号', '密码'], ['李四', '账号', '密码'], ['王五', '账号', '密码']] # 校园通账号密码def StudentLogin(StuId, StuPassword):login_url = "http://jxusptpay.com:80/StudentApp/Login/Login/StudentLogin"login_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0","Accept": "application/json, text/javascript, */*; q=0.01","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate", "X-Requested-With": "XMLHttpRequest","Content-Type": "multipart/form-data; boundary=---------------------------42502287411117441599485456745"}login_data = "-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"student\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"password\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"platform\"" \"\r\n\r\n1\r\n" \"-----------------------------42502287411117441599485456745--\r\n".format(StuId, StuPassword)resp = session.post(url=login_url, headers=login_headers, data=login_data)resp_json = json.loads(resp.text)login_msg = resp_json['msg']print(resp.text)# print(resp.cookies)return login_msg, respdef GetStuSign():SiginId = NoneGetStuSign_url = "http://www.jxusptpay.com:80/StudentApp/SignIn/StudentSignin/GetStudentSignIn"GetStuSign_headers = {"Accept": "application/json, text/javascript, */*; q=0.01","X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Linux; Android 10; V1914A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.101 Mobile Safari/537.36","Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryqzAkRL7L3HlcKLf7","Origin": "http://www.jxusptpay.com","Referer": "http://www.jxusptpay.com/StudentApp/SignIn/StudentSignin","Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "close"}GetStuSign_data = "------WebKitFormBoundaryqzAkRL7L3HlcKLf7--\r\n"step1_resp = session.post(url=GetStuSign_url, headers=GetStuSign_headers, data=GetStuSign_data)# print(step1_resp.text)resp_json = json.loads(step1_resp.text)GetStuSign_msg = resp_json['msg']try:SiginId = resp_json['data']['id']except:passreturn GetStuSign_msg, SiginId, step1_respdef GpsSignIn(SiginId):GpsSignIn_url = "http://www.jxusptpay.com:80/StudentApp/SignIn/StudentSignin/GpsSignIn"GpsSignIn_headers = {"Accept": "application/json, text/javascript, */*; q=0.01","X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Linux; Android 10; V1914A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.101 Mobile Safari/537.36","Content-Type": "multipart/form-data; boundary=----WebKitFormBoundarypKKcS4ZECP9zCIJt","Origin": "http://www.jxusptpay.com","Referer": "http://www.jxusptpay.com/StudentApp/SignIn/StudentSignin","Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "close"}GpsSignIn_data = "------WebKitFormBoundarypKKcS4ZECP9zCIJt\r\n" \"Content-Disposition: form-data; name=\"signinId\"\r\n" \"\r\n{}\r\n" \"------WebKitFormBoundarypKKcS4ZECP9zCIJt\r\n" \"Content-Disposition: form-data; name=\"itemId\"\r\n" \"\r\n1\r\n" \"------WebKitFormBoundarypKKcS4ZECP9zCIJt\r\n" \"Content-Disposition: form-data; name=\"longitude\"\r\n" \"\r\n115.82197462593913\r\n" \"------WebKitFormBoundarypKKcS4ZECP9zCIJt\r\n" \"Content-Disposition: form-data; name=\"latitude\"\r\n" \"\r\n28.90447703508046\r\n" \"------WebKitFormBoundarypKKcS4ZECP9zCIJt--\r\n".format(SiginId)step2_resp = session.post(url=GpsSignIn_url, headers=GpsSignIn_headers, data=GpsSignIn_data)print(step2_resp.text)def FinalProcess(StuId, StuPassword):login_msg, resp = StudentLogin(StuId, StuPassword)if login_msg == "登入成功":GetStuSign_msg, SiginId, step1_resp = GetStuSign()if GetStuSign_msg == "操作成功":# 签到GpsSignIn(SiginId)else:print(step1_resp.text)elif login_msg == "登入服务器用户名或密码错误":print(login_msg)else:print(resp.text)if __name__ == "__main__":start_time = datetime.datetime.now()print('\n[+] 脚本启动时间:{}'.format(start_time.strftime('%Y-%m-%d %H:%M:%S')))session = requests.session()for info in StudentAccount:name, username, password = info[0], info[1], info[2]print(name)FinalProcess(username, password)# time.sleep(60) # 五分钟内登录服务器次数不得超过5次end_time = datetime.datetime.now()print('[+] 脚本运行时间:{} 秒\n'.format((end_time-start_time).total_seconds()))

Dormitory Signin Automatic

需要校园通账号密码

# Python3
# Author: mochu7
import requests
import json
import datetime
import timeStudentAccount = [['张三', '账号', '密码'], ['李四', '账号', '密码'], ['王五', '账号', '密码']] # 校园通账号密码def StudentLogin(StuId, StuPassword):login_url = "http://jxusptpay.com:80/StudentApp/Login/Login/StudentLogin"login_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0","Accept": "application/json, text/javascript, */*; q=0.01","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate", "X-Requested-With": "XMLHttpRequest","Content-Type": "multipart/form-data; boundary=---------------------------42502287411117441599485456745"}login_data = "-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"student\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"password\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"platform\"" \"\r\n\r\n1\r\n" \"-----------------------------42502287411117441599485456745--\r\n".format(StuId, StuPassword)resp = session.post(url=login_url, data=login_data, headers=login_headers)resp_json = json.loads(resp.text)login_msg = resp_json['msg']print(resp.text)# print(resp.cookies)return login_msg, respdef GetDorMac():GetDorMac_msg = NoneDoorMac = NoneStuIsLogin_url = "https://www.jxusptpay.com/StudentApp/doorLock/openDoor/StudentIsSign"step1_resp = session.post(url=StuIsLogin_url)resp_json = json.loads(step1_resp.text)GetDorMac_msg = resp_json['msg']try:DoorMac = resp_json['data']['door']['doorBluetoothMac']except:passreturn GetDorMac_msg, DoorMac, step1_respdef GetToken():GetToken_msg = NoneProveToken = NoneRelPerPro_url = "https://www.jxusptpay.com/StudentApp/doorLock/openDoor/RealPersonProving"step2_resp = session.post(url=RelPerPro_url)resp_json = json.loads(step2_resp.text)ProveToken = resp_json['data']['token']GetToken_msg = resp_json['msg']# ProveToken存在时效,时间较短,大概30秒左右return GetToken_msg, ProveToken, step2_respdef Biopsy(ProveToken):Biopsy_msg = NoneRealId = Nonefile_perfix = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")Biopsy_url = "http://121.36.226.29:80/FaceRecognition/FaceRecognition/FaceRecognition/BiopsyToFile"Biopsy_headers = {"Accept": "application/json, text/javascript, */*; q=0.01","User-Agent": "Mozilla/5.0 (Linux; Android 10; V1914A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.101 Mobile Safari/537.36","Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryyG2D8PGa3bWIwLdg","Origin": "http://www.jxusptpay.com", "X-Requested-With": "com.aheadedu.stuteams.stumanagement","Referer": "http://www.jxusptpay.com/StudentApp/doorLock/openDoor/dormitorySign","Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "close"}Biopsy_data = "------WebKitFormBoundaryyG2D8PGa3bWIwLdg\r\n" \"Content-Disposition: form-data; name=\"multipartFile\"; filename=\"{}.mp4\"\r\n" \"Content-Type: video/mp4\r\n\r\n" \"ftypmp42isimmp42...\x00\r\n" \"------WebKitFormBoundaryyG2D8PGa3bWIwLdg\r\n" \"Content-Disposition: form-data; name=\"token\"\r\n\r\n" \"{}\r\n" \"------WebKitFormBoundaryyG2D8PGa3bWIwLdg--\r\n".format(file_perfix, ProveToken)step3_resp = session.post(url=Biopsy_url, headers=Biopsy_headers, data=Biopsy_data, timeout=6)resp_json = json.loads(step3_resp.text)RealId = resp_json['data']['id']Biopsy_msg = resp_json['msg']return Biopsy_msg, RealId, step3_respdef DorStuSign(DoorMac, RealId):StuSignin_url = "http://www.jxusptpay.com:80/StudentApp/doorLock/openDoor/StudentSign"StuSign_headers = {"Accept": "application/json, text/javascript, */*; q=0.01", "X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Linux; Android 10; V1914A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.101 Mobile Safari/537.36","Content-Type": "multipart/form-data; boundary=----WebKitFormBoundary9ENXVdDjergUgb4W","Origin": "http://www.jxusptpay.com","Referer": "http://www.jxusptpay.com/StudentApp/doorLock/openDoor/dormitorySign","Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "close"}StuSign_data = "------WebKitFormBoundary9ENXVdDjergUgb4W\r\n" \"Content-Disposition: form-data; name=\"signId\"\r\n" \"\r\n1\r\n" \"------WebKitFormBoundary9ENXVdDjergUgb4W\r\n" \"Content-Disposition: form-data; name=\"realId\"\r\n" \"\r\n{}\r\n" \"------WebKitFormBoundary9ENXVdDjergUgb4W\r\n" \"Content-Disposition: form-data; name=\"mac\"\r\n" \"\r\n{}\r\n" \"------WebKitFormBoundary9ENXVdDjergUgb4W--\r\n".format(RealId, DoorMac)resp4 = session.post(url=StuSignin_url, headers=StuSign_headers, data=StuSign_data)print(resp4.text)def FinalProcess(StuId, StuPassword):login_msg, resp = StudentLogin(StuId, StuPassword)if login_msg == "登入成功":# 获取门锁MAc地址GetDorMac_msg, DoorMac, step1_resp = GetDorMac()if GetDorMac_msg == "当前无需签到":print(GetDorMac_msg)elif GetDorMac_msg == "当前时间段已签到":print(GetDorMac_msg)elif GetDorMac_msg == "操作成功":# 获取TokenGetToken_msg, ProveToken, step2_resp = GetToken()if GetToken_msg == "操作成功":# 活体验证Biopsy_msg, RealId, step3_resp = Biopsy(ProveToken)if Biopsy_msg == "操作成功":# 签到DorStuSign(DoorMac, RealId)else:# 活检错误处理,重复GetToken以及Biopsy步骤,直至操作成功while True:ProveToken = GetToken()[1]Biopsy_msg, RealId, step3_resp = Biopsy(ProveToken)if Biopsy_msg == "操作成功":# 签到DorStuSign(DoorMac, RealId)breakelse:print(step2_resp.text)else:print(step1_resp.text)elif login_msg == "登入服务器用户名或密码错误":print(login_msg)else:print(resp.text)if __name__ == "__main__":start_time = datetime.datetime.now()print('\n[+] 脚本启动时间:{}'.format(start_time.strftime('%Y-%m-%d %H:%M:%S')))session = requests.session()for info in StudentAccount:name, username, password = info[0], info[1], info[2]print(name)FinalProcess(username, password)# time.sleep(60) # 五分钟内登录服务器次数不得超过5次end_time = datetime.datetime.now()print('[+] 脚本运行时间:{} 秒\n'.format((end_time-start_time).total_seconds()))

Health Report Automatic

需要校园通账号密码

# Python3
# Author: mochu7
import requests
import random
import datetime
import json
import timexxx_StudentAccount = [['xxx班-张三', '账号', '密码'], ['xxx班-李四', '账号', '密码'], ['xxx班-王五', '账号', '密码']] # 校园通账号密码
yyy_StudentAccount = [['yyy班-张三', '账号', '密码'], ['yyy班-李四', '账号', '密码'], ['yyy班-王五', '账号', '密码']]
Stu_dict = {"xxx":xxx_StudentAccount, "yyy":yyy_StudentAccount}
class_list = ["xxx", "yyy"]
# xxx yyy 为班号
#Temperature Range:36.2℃~37.2℃
Temperature_list = ['36.2', '36.3', '36.4', '36.5', '36.6', '36.7', '36.8', '36.9', '37.0', '37.1', '37.2']def StudentLogin(StuId, StuPassword):login_url = "http://jxusptpay.com:80/StudentApp/Login/Login/StudentLogin"login_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0","Accept": "application/json, text/javascript, */*; q=0.01","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate", "X-Requested-With": "XMLHttpRequest","Content-Type": "multipart/form-data; boundary=---------------------------42502287411117441599485456745"}login_data = "-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"student\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"password\"" \"\r\n\r\n{}\r\n" \"-----------------------------42502287411117441599485456745\r\n" \"Content-Disposition: form-data; name=\"platform\"" \"\r\n\r\n1\r\n" \"-----------------------------42502287411117441599485456745--\r\n".format(StuId, StuPassword)login_resp = session.post(url=login_url, data=login_data, headers=login_headers)resp_json = json.loads(login_resp.text)login_msg = resp_json['msg']print(login_resp.text)# print(resp.cookies)return login_msg, login_respdef GetVerifyCode():verify_url = "https://www.jxusptpay.com:443/SpReportData/reportdata/getVerifyCode"verify_resp = session.get(verify_url)resp_json = json.loads(verify_resp.text)verify_msg = resp_json['msg']VerifyCode = resp_json['data']return verify_msg, VerifyCode, verify_respdef HealthReport(class_name, StuId, Temp, Current_date, VerifyCode):report_url = "https://www.jxusptpay.com:443/SpReportData/reportdata/report"report_data = {"studentCode":StuId,"classNo":class_name,"departmentCode":"02","depName":"网络工程学院","acaID":"1","bodystatus":"正常","animalHeat":None,"address":"江西软件职业技术大学","isContactHubeiBack":"0","isContactPatient":"0","othercase":"无","verifyCode": VerifyCode,"reporttime":Current_date,"morTem":Temp,"illsymptom":None,"quarantine":None,"quarantinePlace":None,"outStartTime":None,"outEndTime":None,"vehicle":None,"trainNumAndseatNum":None}resp = session.post(url=report_url, json=report_data)print(resp.text)def FinalProcess(class_name, StuId, StuPassword):Temp = Temperature_list[random.randint(1, len(Temperature_list)) - 1]Current_date = datetime.datetime.now().strftime('%Y-%m-%d')login_msg, login_resp = StudentLogin(StuId, StuPassword)if login_msg == "登入成功":verify_msg, VerifyCode, verify_resp = GetVerifyCode()if verify_msg == "操作成功":HealthReport(class_name, StuId, Temp, Current_date, VerifyCode)else:print(verify_resp.text)else:print(login_resp.text)if __name__ == "__main__":start_time = datetime.datetime.now()session = requests.session()print('\n[+] 脚本启动时间:{}'.format(start_time.strftime('%Y-%m-%d %H:%M:%S')))for class_name in class_list:for Stu in Stu_dict[class_name]:Stuname, StuId, StuPassword = Stu[0], Stu[1], Stu[2]print(Stuname)FinalProcess(class_name, StuId, StuPassword)# time.sleep(60) # 五分钟内登录服务器次数不得超过5次end_time = datetime.datetime.now()print('[+] 脚本运行时间:{} 秒\n'.format((end_time - start_time).total_seconds()))
``

关于校园通使用过程中的相关脚本相关推荐

  1. 【点云3D目标检测】跑通CIA-SSD过程中的一些报错集锦

    前言 本文主要是介绍了在跑通CIA-SSD系列算法过程中遇到的一些bug,下面是对CIASSD算法的一个简单的介绍. CIA-SSD其基本思想是校准单步目标检测中分类和定位两个任务,提出Confide ...

  2. k8s集群安装过程中的相关问题和解决

    前言 断点续传模式~ 记录 我用的是ubuntu16.04,首先要做的是配置apt源,这里推荐阿里云的源地址 https://mirrors.aliyun.com/kubernetes/apt/doc ...

  3. 实习项目-校园通简介

    毕业实习我所在的部门是研发部,参与到公司一个叫"校园通"项目开发中. "校园通"这个项目由两个后台和四个模块加一个即时通信系统组成.两个后台为中央后台和学校后台 ...

  4. linux脚本执行过程中被挂起,Linux学习笔记(八)——脚本执行的过程控制

    一.脚本执行过程中的控制 之前的内容中,运行编写好的脚本时都是在命令行上直接确定运行的,并且运行的脚本是实时的,这并不是脚本唯一的运行方式,下面的内容是脚本的其他运行方式.例如在Linux系统中如何控 ...

  5. 拯救者Y9000P 安装Ubuntu18.04 、Ros Melodic等相关配置过程中出现的错误及解决办法

    电脑配置:拯救者Y9000P 2022 i9 3060 目录 一.安装Ubuntu18.04 1.安装UltralSO时无法写入镜像文件,显示磁盘/映像空间太小 2.由于2022拯救者Y9000PBI ...

  6. ACR2010_MRI骶髂关节炎症与CTX-II变化以及TNF拮抗剂治疗过程中全身炎症改变相关...

    原文 译文 [134] - MRI Inflammation in the Sacroiliac Joints Is Associated with CTX-II and Changes in Sys ...

  7. 计算机网络训练参考文献,学生实践论文,关于开放教育过程中计算机网络技术专业学生实践能力的培养相关参考文献资料-免费论文范文...

    导读:本论文主要论述了学生实践论文范文相关的参考文献,对您的论文写作有参考作用. (齐齐哈尔市广播电视大学 黑龙江齐齐哈尔 161005) 摘 要:实践性教学环节是开放教育教学过程中不可或缺的重要环节 ...

  8. 智明星通 CEO 唐彬森:创业过程中的几笔学费

    编者按:本文来自创新工场(微信号:chuangxin2009)创业公开课.本期课程是由从海外市场起家的唐彬森老师分享<创业过程中的几笔学费>.在移动互联网时代背景下,产品为王,只有真正了解 ...

  9. 使用UltraISO软碟通离线安装Centos8.3.2011过程中遇到的问题

    使用UltraISO软碟通离线安装Centos8.3.2011过程中遇到的问题 2022年08月19日更新 2022年06月20日更新 FedorMediaWriter 前言 以下是在本次软碟通离线安 ...

最新文章

  1. bldc不同载波频率_广播百科 频率调制
  2. 一级计算机综合训练第五卷,2018职称计算机考试基础综合练习及答案(5)
  3. 关于三层交换机的路由处理方式和路由器的路由处理方式的不同
  4. 写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);...
  5. 【Python】学习笔记7-异常处理try。。except .. as e ....else
  6. C语言中open与fopen的的解释和区别
  7. python中的引用,Python里的引用和拷贝
  8. leetcode-Single Number II-137
  9. (13)数据结构-先序中序还原二叉树
  10. java新闻发布系统
  11. 使用STVP解除STM32flash读出保护
  12. word对象模型概述
  13. Foo,getName题解分析
  14. 工程化框架之feather
  15. mysql 8.XXX zip版的安装使用
  16. C++ LinuxWebServer 2万7千字的面经长文(上)
  17. 电音(3)音色分类和调制
  18. 在“提示”框中:轻松进行Android转换,自定义YouTube和跟踪电池使用情况
  19. Metronic学习-1-替换google字体,让页面打开更流畅
  20. 分享一个app内日志查看工具

热门文章

  1. java sql绑定_在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
  2. 【庖丁解牛】rm: cannot remove ‘libtoolT‘: No such file or directory
  3. 分享一些摘抄的优美句子~
  4. 【linux】在阿里云服务器上部署网站 WeCenter
  5. 如何为 DWDM Mux Demux 选择光收发器?
  6. 奈飞win10安装包_Win10专业版中下载Netflix电视和电影的技巧
  7. Python爬虫笔记——python3.7安装Scrapy
  8. python制作热力图_Python中绘制场景热力图
  9. agc044 c Strange Dance
  10. C++:点赞(团体程序设计天梯赛)