服务器上实现校园网账号的登录/登出

校园网账号的登录/登出操作在本质上是本机向校内的认证服务器发送了一个含有校园网账号和密码、DHCP 服务器为本机分配的内网 IP,本机的 MAC 地址等信息的网络请求。想要在无图形界面的服务器上实现校园网账号的登录/登出首先需要获取校园网认证服务的 API 接口地址和参数列表。 首先使用浏览器(这里使用网络工具更好用的 Firefox)打开校园网登录界面,F12 打开开发者工具,找到网络一栏。 开发者工具的网络一栏可以实时拦截并解析网页中发送和接收的网络请求,此时输入账号密码并点击登录后即可获得所有相关的网络请求链接。 可以通过过滤 URL 的方式寻找和登录(login)有关的关键字来查找相关网络请求,可以看到这里第一个请求就是校园网账号登录操作的 URL 链接。 浏览器的开发者工具一般都会为每个请求链接提供 cURL 命令格式的复制选项,根据服务器所在的平台不同,复制相应的 cURL 命令即可。由于服务器运行的是 Linux,这里采用 POSIX 标准的命令进行复制。 复制得到的命令中的一些琐碎的参数可以去除,留下关键的参数即可。 原始命令 curl 'https://w.seu.edu.cn:801/eportal/?c=Portal&a=login&callback=dr1003&login_method=1&user_account=校园网账号&user_password=校园网密码&wlan_user_ip=DHCP服务器为本机分配的内网IP&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=3.3.2&v=4680' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0' -H 'Accept: */*' -H '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' -H 'Accept-Encoding: gzip, deflate, br' -H 'Connection: keep-alive' -H 'Referer: https://w.seu.edu.cn/' -H 'Cookie: PHPSESSID=iallep4oe53qg6uc5osr6ir99e' -H 'Sec-Fetch-Dest: script' -H 'Sec-Fetch-Mode: no-cors' -H 'Sec-Fetch-Site: same-site' 精简后的命令 curl 'https://w....

March 8, 2022 · Huo Haodong

WSL2 配置 C 语言开发环境

之前一直在Ubuntu下编写C/C++程序,体验十分良好,工具链一应俱全。然而,Linux下的办公和通讯软件少之又少,日常用起来的体验太差。WSL(Windows Subsystem Of Linux)一代虽然充满黑科技,但是看微软团队的意思,应该是技术难度过大,只好妥协一下,采用类虚拟机的方式来实现WSL2,技术上和虚拟机无差,也正好满足我的需求,常用软件的适配也十分积极,最近尝试了一下WSL2,内核轻量化,启动非常快,使用起来比虚拟机要方便。刚开始使用时按照以前Linux的使用经验去配置,出现了一些问题,网上搜到的一些文章要么莫名其妙,要么漏洞百出,踩了一些坑,浪费了很多时间才解决。这里记录下WSL2的配置以及后续配置C/C++环境的方法。 WSL2的安装和基本配置 安装 WSL2的安装方式有两种。 打开Win10的应用商店搜索Ubuntu关键字,根据个人喜好选择Ubuntu版本即可(其他发行版类似,下面的配置都默认发行版为Ubuntu20.04版本)。(推荐的方式) 去微软官网下载独立的软件包,然后在自己想要安装的位置点击安装即可,这时你安装的WSL2是在你安装它的位置,可以避免占用C盘空间,但是这样安装的话会存在一些问题,比如CLion无法检测到你系统内安装在C盘以外的WSL,而且VSCode连接WSL后的智能检测也会出问题,自动补全也会出错。所以不推荐这样安装。 配置软件源 WSL2的微软商店评论区中有人评论说:“不要更换官方的软件源,更新后会出问题”。我按照正常的方法去配置后没有发现问题,可能是微软官方已经修复了。这里软件源的配置和单系统的Ubuntu没有任何区别。 cd /etc/apt/ # 进入镜像文件所在的目录 ls sudo rm sources.list # 这里图方便直接选择删除镜像文件,也可以先备份一下,备份方法 sudo cp ./sources.list ./sources.list.backup sudo touch sources.list # 新建镜像文件 sudo nano sources.list # 选择自己习惯的镜像源,复制镜像然后粘贴并保存即可,我自己选用的是阿里的源 阿里的Ubuntu软件源(这里是ubuntu20.04版本的软件源,其他版本的自行搜索) deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors....

November 20, 2020 · Huo Haodong