哆啦校圈 API 分析
免责声明:本文仅供技术研究和学习交流之用。请勿将文中所述技术用于非法用途,作者不对任何滥用行为承担责任。
需求哆啦校圈是一个同济学生比较活跃的校内交流平台,然而里面鱼龙混杂,时不时乌烟瘴气。对获取校内资讯造成了很大障碍。目前来看,有一个恶心的问题,便是拉黑系统。
拉黑操作是这样的,找到一个帖子,点击发帖人的头像。如果发帖人是非匿名发帖,则出现一个拉黑按钮,点击后便可以把对方拉黑 1个月。
如果是匿名发帖,您还真就拿对方没办法了,因为如上操作对匿名发帖无效,并不会有拉黑按钮的出现。那么就只能看着对方宣泄情绪、带节奏而无可奈何。
这样不好!
因此,本文章要完成的主要任务是提供一些背景知识,使得如下目的能够但不一定便捷实现:
得以拉黑匿名发帖;
实现永久拉黑
我们的美好期望能够实现吗?可能会遇到一些问题吧?比如说,如果定位不到匿名发帖人,怎么办?如果拉黑了发帖人,只能屏蔽正常发帖,仍然无法屏蔽匿名发帖,怎么办…
谢谢这个草台班子一样的世界,这些问题都能够得到攻克。
太长不看版问题 1 的初步解决注意到在帖子详情页,如果在发帖人部分出现了 关注 按钮,点击关注,然后在 我的 -& ...
【已解决】HP 打印机无法休眠
问题现象描述HP Color LaserJet Pro MFP M281fdw 打印机无法休眠。在 60s 无操作后触摸屏自动关闭,然后等待几秒钟后屏幕再次亮起。如此反复。同时伴随着细微的咔咔声,很烦人。
解决方案发现打印机的 USB 口和电脑的连接在了一起,同时笔记本电脑处在关闭的状态。这一连接是没有必要的,因为打印机已经连接无线网了。因此,把 USB 线拔掉就好了。问题解决。
参考https://h30434.www3.hp.com/t5/LaserJet-Printing/Problem-with-sleep-mode-on-my-printer-MFP-M278-M281/td-p/7534286
走的弯路检索到了同型号的打印机一直开机关机的问题,通过文中的方法进行 Permanent Storage Init,但发现解决不了问题。这也是我两三年前尝试过解决的方案。当时认为这一问题无解,所以止步于此。
之后今天早上又被这一声音整的烦躁,才再次检索。发现是 USB 线的问题。あああー,困扰我许久的问题终于解决了。看来学了计算机两年,解决问题的能力 upupup 呢。
对问题的准确 ...
未来的工作是?
需求总结一下未来的求职方向,梳理当前的职位需求。
大概目前感兴趣的方向有 3 个:前端、后端、运维。又以后两者为重点。总结一下这些岗位需要的技术,寒假和下学期会着重学习一些。
前端工程师实习先看实习。从几个感兴趣的大厂入手。
小米:React Native、javascript
小米:js、vscode、linux 环境、react 框架
小红书:React / Vue、三件套
Bilibili:React、ant-design、三件套、页面布局、模块化
全职小红书:js、css、React / Vue
小红书:ts、css、React / Vue
TikTok:三件套、DOM、HTTP 协议,React / Vue
Bilibili:React、Vite、Webpack、Rollup
字节飞书:React / Vue / Angular,三件套、Grunt、Gulp、Webpack、NodeJS
分割线前面这些是在 BOSS 直聘上看到的。大概概括来说,React、三件套是重点,要熟悉掌握。还有一些是在网站上扒下来的:
网站 ...
爬虫+Web | 同济大学 1 系统通知公告备份与提醒
缘起
同济大学 1 系统 是同济大学的教学信息管理平台,发布教务教学的通知公告。发布的通知较为重要,但是过了一段时间便会下架,不给人回看的可能。
在计科导的网站大作业编写的网站没有用户的登录注册等功能,如果因为作业时间仓促而明文存储密码,没什么意义。因此在寒假编写一个生产上较为安全的用户系统。
文章将按模块来展开,梳理网站实现的大部分细节。文章比较长,读者可以选感兴趣的部分阅读。
网站在:同济大学通知公告备份站。
Github 仓库在:Github
爬虫——数据获取统一身份认证
获取数据需要通过的第一道关卡是统一身份认证,因为如果不登录,是获取不了任何内容的,会返回 401 错误。上图是老的身份认证系统,现在不需要手动点击验证码、只需要点击登录按钮,相对还容易些,不然,如何通过验证码也是个问题。
在用户输入了用户名和密码后,发生了什么事情呢?
初步认识在 Network 面板中,注意到 1 系统会向 https://iam.tongji.edu.cn/idp/authcenter/ActionAuthChain?... 发送 URL编码后的 如下内容:
1234567j_userna ...
同济统一身份认证登录 1 系统
需求为 1 系统的通知公告内容存档。参见 Github 项目。然而,请求内容需要 Cookies,列表如下
1234{ "JSESSIONID": "xxx", "sessionid": "yyy",}
否则会提示 session 不存在。那么,如何获取这两个 Cookies 就是我们这篇文章的主线。
过程访问: https://1.tongji.edu.cn首先,访问 https://1.tongji.edu.cn,因为之前没有登录过,因此会被重定向到登录界面 https://iam.tongji.edu.cn。
然而,这其中更细节的过程是什么?
使用 curl 进行测试。
12345678# -i 的意思是展示请求头curl -i https://1.tongji.edu.cn/ssologin# 得到HTTP/1.1 200 OKDate: Sat, 18 Jan 2025 05:50:45 GMTContent-Type: text/htmlContent-Leng ...
同济的 IP 范围
需求想要让我的网站限制只有同济范围内才能访问,如何实现呢?
分析需要知道同济的 IP 段,有几种方法:
学校官网等资料
ping foo.tongji.edu.cn,一个一个排查
nslookup 等其他工具
在线工具
方案最终发现,ipinfo.io 有很好的查询方案。
首先,已经确定了同济的 IP 范围在 202.120.0.0/16,然而,真的同济能这么阔绰,有这么多 IP 拿在手中吗?
不是的。
经过排查,https://ipinfo.io/ips/202.120.0.0/16,发现同济的 IP 范围是:
202.120.163.0/24
202.120.164.0/24
202.120.166.0/24
202.120.188.0/24
202.120.189.0/24
202.120.190.0/24
202.120.191.0/24
这些是同济域名对应的 IP 段,可能不全。
但是要注意,使用学校的 VPN 之后,IP 块是 111.187.0.0/17,虽然也是上海教育网,但是和学校网站的 I ...
subconverter 后台服务运行
需求希望使用自定义规则。subconverter 的 release 版本的请求头有一些字段,导致其被一些机场网络服务商屏蔽(参见之前的文章),自己编译的版本每次需要手动打开运行,点击 Clash 进行节点更新,太麻烦。因此使用 Windows 服务的形式来让 exe 后台运行。
步骤下载nssm 是一个开源工具,用于将任何 exe 安装为 Windows 服务。下载地址https://nssm.cc/download,国内访问有点慢。
服务注册把 exe 注册为服务:
1nssm install YourServiceName "C:\path\to\your_program.exe"
注意:如果文件名包含空格,需要用双引号括起来。否则执行 net start 会报错:发生特定服务错误:3。请键入 NET HELPMSG 3547。如果已经这样做了,可以通过 nssm edit <service_name> 来修改路径。
启动1net start <service_name>
结束这样应该就可以让节点的定时更新起作用了。当然,还有可 ...
服务器常见问题
概述本文总结了在服务器使用上常见的问题。
MySQL 占用内存过高参见 https://stackoverflow.com/questions/10676753/reducing-memory-consumption-of-mysql-on-ubuntuaws-micro-instance。
具体做法
12[mysqld]performance_schema = 0
可以 cut off 近 20% 的内存占用,我的服务器一共约 900MB 的内存,也就是释放了约 200MB 的空间出来。
之所以发现这个问题,是因为 2025-01-01 早上起来发现服务器登录不上去,当天凌晨的 CPU 占用率 100%。用 top 命令发现内存只剩下 5% 左右,很容易溢出。
还有一个方案是
12345key_buffer = 8M max_connections = 30 # Limit connectionsquery_cache_size = 8M # try 4m if not enough query_cache_limit ...
定期总结(2024-12)|Letting Go
缘由好久没有动笔写过日记了,这学期的事务繁忙,居然每天抽不出二十分钟写写日记,想来荒唐,居然要用微信语音记录日常。。上午刚刚考完 oop,除了几个知识点没复习到之外,我认为发挥的还是不错的,比高程好。再加上上完了这学期的最后一节课——组合数学(不管是组合数学的最后一节还是所有课程的最后一节),正式宣告了考试周自习时光的开始,有些小激动。之前为了复习 oop 和完成组合数学的作业,熬了两个大夜,两三点钟才睡觉,第二天七八点钟就要起来。我觉得,我先前保持的健康作息,可能就是为了这种时间段预备的吧。
单向奔赴既然现在有时间了,就可以静下心来好好写点自己的近况。有意思的是,从大一下学期开始,每学期我都会喜欢上一个女生,找到她们的闪光点。然后,不管是线下要微信还是线上要微信,之后开始尬聊。第一段呢,是因为我干涉对方的生活太多,可能她心里默念的是:你计拔谁啊?整天时间我?所以我最后也不去找她了。意料之中,从八月小学期结束之后,她也没再来找过我,确实对我一点感觉都没有。
硬盘里的女神下了又删,去年夏天后就没聊过天。——《东京不太热》
这句歌词真是应景啊。
而这学期,大概是十月中旬吧(因为还没具体 ...
更新网站上课表的步骤
更新时间课表更新的时间有三个阶段:
上学期 16 周左右的第一轮选课前夕;
下学期开学后第四轮选课结束,教务处发布某些选修课调整关停的通知后;
下学期期中退课结束后。
更新流程与方法在个人电脑上
记得备份!记得备份,记得备份!
Excel 表格访问 1.tongji.edu.cn,切换到全校课表,把对应学期的全校课表导出为 Excel 表格;
导出为 .csv把 Excel 表格导出为 .csv 文件;
方法:文件->另存为->选择位置->在下拉菜单选择(.csv)->保存
这两个有什么区别吗?如果选择不含有 UTF-8 的(靠下面的),编码会变成 GB2312,在进行 pandas 处理的时候会有问题,提示无法读取对应编码(因为 pandas 默认读 UTF-8),然而如果在 python 程序中指定 coding 似乎也无法解决问题,所以这时,可以通过 VSCode 打开 .csv 文件,先选择 按编码打开,GB2312;再选择 按编码保存,UTF-8 with BOM,解决!至于说没有 BOM 的单纯 UTF-8 怎样,以后可以试试..
进行数据 ...