首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
14,144 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,387 阅读
3
gradle-5.4.1-all.zip下载
9,386 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
8,162 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
7,003 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
615
篇文章
累计收到
629
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
615
篇与
的结果
2020-04-28
NetAssist网络调试助手,学习网络编程第一步
NetAssist是一款免安装的网络调试助手工具。今天给大家带来全新的网络调试助手NetAssist,该工具支持udp与tpc协议,只需输入相应的主机与监听的端听即可,它为用户提供了多链接与多数据格式解析的功能,这款网络调试助手工具占用系统内存少,简单易操作。1、集成TCP服务端与P客户端,可以建立多个链接,各自单独操作,管理方便2、不需要安装,解压即可打开使用软件资源收集于网络,如有问题请发送邮件至Vast@tom.comNetassist.zip密码:lanol|大小:477KB已经过安全软件检测无毒,请您放心下载。
2020年04月28日
1,729 阅读
1 评论
0 点赞
2020-04-27
职教云-智慧职教,网课观看分析(秒刷网课)
先来张效果图:当打开课件之后,发现右侧或不断发送一个包StuProcessCellLog的包,初步估计这就是不断向服务器发送我们目前的观看情况的包点开之后翻到最下面,可以看到Form Data,经过自己之前补签的分析,可以猜到下面对应的值的信息,以及刷网课的思路CourseOpenID:这个课程ID可以直接在网址栏查看OpenClassID:这个课程班级ID一样的可以直接在网址栏看上面这两个值在同一个课程都是不变的CellID:这个就是下一步分析怎么来的了token:后来发现这个和Cookie里面的token是一样的,所以也可以不变下面是分析CellID的获取过程:1,首先是获取整个课件的大列表,也就是下图这一块打开之后按F12,打开工具,然后刷新网页可以看到,多了三个东西出来getProcessList,getStuStudyClassList,getTopicByModuleId一个个来看吧,从第一个开始getProcessList:他提交了两条数据,一个是课程id一个是课程班级id返回来一个list,全部展开之后就是我们的课件列表了返回来第一级目录,和他的ID然后是第二个getStuStudyClassList:这个是获取你账户下有哪些课程,在这里可以不用管第三个是getTopicByModuleId可以看到这个是二级目录的id,然后uptopicid这个应该是上传者的id(网易翻译猜的,在这里没啥用,不过修改作业时间那里需要这个id)到这里,目前的三个包已经分析完了,但是还是没有得到刷进度要的CellID,这三个包只翻出来二级目录,还差最后课件的ID就行了,那是因为我们还没有展开课件,所以没有加载,然后我们现在来点开二级目录查看一下查看一下Form Data:一个三个值,第一个courseOpenID:说过了的,第二个OpenClassID:说过的,第三个topicid:现在说topicid:fzpq初步估计就是就是之前传递过的值,经对比可以发现这个id等于我们获取到的二级目录ID。到这里就已经得到了最开始我们所需要的CellID了回过神看这个文件列表发现,职教云好实诚呀。。第一个getProcessList:获取列表第二个getStuStudyClassList:获取学生学习班级列表第三个TopicidByMouduleid:通过Moduleid获取Topicid第四个getCellByTopicId:通过Topicid获取CellID总上就可以快乐的为所欲为了最后附上批量获取课程CellID的python代码import random import time import requests def get_all(): url = 'https://zjyapp.icve.com.cn/newmobileapi/assistTeacher/getModuleListByClassId' data = { 'courseOpenId': 'courseOpenId', 'openClassId': 'courseOpenId', 'stuId': 'stuId', } html = requests.post(url=url, data=data).json() data = html['moduleList'] moduleIds = [] for i in data: print(i['moduleName'] + '已加载') moduleIds.append(i['moduleId']) return moduleIds def get_list(moduleId): url = 'https://zjy2.icve.com.cn/newmobileapi/assistTeacher/getTopicListByModuleId' moduleIds = [] for i in moduleId: data = { 'openClassId': 'openClassId', 'courseOpenId': 'courseOpenId', 'moduleId': f'{i}' } html = requests.post(url=url, data=data).json() data = html['topicList'] for j in data: moduleIds.append(j['topicId']) return moduleIds def get_cell(topicIds): url = 'https://zjy2.icve.com.cn/newmobileapi/assistTeacher/getCellListByTopicId' cellids = [] for k in topicIds: data = { 'openClassId': 'openClassId', 'courseOpenId': 'courseOpenId', 'topicId': k, 'stuId': 'stuId' } html = requests.post(url=url, data=data).json() data = html['cellList'] for i in data: if i['categoryName'] == '子节点': for j in i['cellChildNodeList']: cellids.append(j['cellId']) else: cellids.append(i['cellId']) return cellids
2020年04月27日
11,387 阅读
14 评论
3 点赞
2020-04-27
Python random() 函数
import random import string # 随机整数: print random.randint(1, 50) # 随机选取0到100间的偶数: print random.randrange(0, 101, 2) # 随机浮点数: print random.random() print random.uniform(1, 10) # 随机字符: print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()') # 多个字符中生成指定数量的随机字符: print random.sample('zyxwvutsrqponmlkjihgfedcba', 5) # 从a-zA-Z0-9生成指定数量的随机字符: ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8)) print ran_str # 多个字符中选取指定数量的字符组成新字符串: print ''.join(random.sample( ['z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'], 5)) # 随机选取字符串: print random.choice(['剪刀', '石头', '布']) # 打乱排序 items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print random.shuffle(items) print(random.randint(1, 10)) # 产生 1 到 10 的一个整数型随机数 print(random.random()) # 产生 0 到 1 之间的随机浮点数 print(random.uniform(1.1, 5.4)) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数 print(random.choice('tomorrow')) # 从序列中随机选取一个元素 print(random.randrange(1, 100, 2)) # 生成从1到100的间隔为2的随机整数 a = [1, 3, 5, 6, 7] # 将序列a中的元素顺序打乱 random.shuffle(a) print(a)
2020年04月27日
980 阅读
0 评论
0 点赞
2020-04-26
TCP与UDP
TCP类似于打电话,使用该种方式进行网络通信时,需要建立专门的虚拟连接,然后进行可靠的数据传输,如果数据发送失败,则客户端会自动重发该数据。UDP类似于发送短信,使用该种方式进行通讯时,不需要建立专门的虚拟连接,传输不可靠,如果发送失败,则客户端无法获得重要的数据一般使用TCP方式进行数据传输,不重要则UDP用UDP发送数据,网络调试工具可以成功收到,但是使用网络调试工具发送数据,python那边毫无反应,当换成TCP协议后双发就可以进行通信了
2020年04月26日
1,074 阅读
0 评论
0 点赞
2020-04-26
学习网络编程的第一天:python网络编程之用TCP制作聊天工具
学习网络编程的第一天,看着视频教程跟着做了一天聊天小工具效果图展示:客户端:服务器端:客户端python代码:from socket import * # 创建客户端套接字对象 client_socket = socket(AF_INET, SOCK_STREAM) # 调用connect方法与服务器建立连接 client_socket.connect(('192.168.31.175', 8989)) while True: # 客户端发送信息 msg = input('>') client_socket.send(msg.encode('utf-8')) # 客户端接收信息 recv_data = client_socket.recv(1024) print('对方说:', recv_data.decode('utf-8'))服务器端python代码:from socket import * # 创建服务器端套接字对象 server_socket = socket(AF_INET, SOCK_STREAM) # 绑定端口 server_socket.bind(('', 8989)) # 监听 server_socket.listen() # 等待客户端连接 client_socket, client_info = server_socket.accept() while True: # 接受客户端信息 recv_data = client_socket.recv(1024) print('对方说:', recv_data.decode('utf-8')) # 发送信息 msg = input() client_socket.send(msg.encode('utf-8'))
2020年04月26日
985 阅读
0 评论
0 点赞
2020-04-26
学生没有教育邮箱如何享受Jetbrains全家桶优惠(白嫖)
首先来一波成功图:提交申请一个星期之后终于发来了这封邮件,每次申请可以使用一年,一年之后还是学生可以继续申请。这里主要讲的是没有教育邮箱的操作方法:第一步:打开jetbrain的学生优惠购买网址:https://www.jetbrains.com/community/education/#students学生选择第一个For students and teachers就可以了稍微往下翻一点,点击Apply Now立即申请因为没有教育邮箱,所以选择第三个经过谷歌翻译之后的,学信网查信息链接获取方法:打开学信网:https://account.chsi.com.cn/passport/login自行登录,然后访问这个网址https://my.chsi.com.cn/archive/index.action选择申请复制查看的网址即可,然后粘贴到之前需要填写的地方,等待结果即可
2020年04月26日
4,271 阅读
0 评论
0 点赞
2020-04-26
Pycharm链接数据库出现 Server returns invalid timezone. Go to "Advanced" tab and set "serverTimezone" prope
在最终url 上 追加 ?serverTimezone=GMT
2020年04月26日
2,487 阅读
0 评论
0 点赞
1
...
70
71
72
...
88