软件版本要求:ios13及以上
演示机型:iPhone 12 mini
演示系统版本:ios14.6
如果你也只按需登录校园网、用完即登出,并且觉得每次登录/登出都需要用浏览器打开p.nju.edu.cn
这件事很麻烦,那么恭喜你,本文将会非常完美地解决你的问题。如果你并没有遇到上述问题(比如你属于从不登出校园网、每月固定缴纳20元网费的土豪),但是你想学习一下如何制作一个ios快捷指令(前提是你必须有一个南大校园网账号),那么你也是本文的目标读者之一。本文将从零开始构建一个快捷指令,并配有大量gif图片进行演示。我们希望这篇文章能对你有所帮助。
一键登录/登出校园网的核心步骤是受这篇博客的启发而做出来的,最关键的操作是向p.nju.edu.cn/portal_io/login
发送POST
请求。在本文中,我们先将一键登录校园网的核心步骤编写成一个快捷指令,以此来展示其原理。然后我们会从核心步骤出发,重新创建自动化登录的指令,从而实现一个更简单、更优雅的登录方法。最后我们会介绍一键登出校园网的快捷指令。在已经理解一键登录指令的基础上,创建一键登出指令会变得非常简单。
快捷指令是ios系统自带的一个app,如果找不到的话可以去appstore里搜索“快捷指令”重新下载它。在这一部分,我们要实现的功能是,在连接校园WiFi的前提下,当我们点击主屏幕上的一个图标(我们的目标就是创建一个具备此功能的图标)时,我们的设备会自动登录校园网。
注:
校园WiFi
指无线局域网NJU-WLAN,校园网
特指p.nju.edu.cn上的校园网认证,下同。
首先我们打开快捷指令app,点击右上角的+
号,新建一个快捷指令。
我们来为快捷指令添加第一个操作,这也是最核心的一个操作。点击添加操作
按钮,找到获取URL内容
这个操作,点击它就可以把它添加进来了。
点击该操作的中URL
字样,我们发现这是个输入框,于是把p.nju.edu.cn/portal_io/login
这个URL填写进来。然后点击操作中的展开
,把方法
改为POST
。
点击请求体
一栏中的表单
,然后点击添加新字段
,以文本为类型
添加两个键
分别为username
和password
的字段,字段的文本
就是登录校园网的账号和密码,也就是你在这个界面中输入的东西:
这样,我们就创建完第一个操作了。我们添加第二个操作来显示登录校园网的结果。点击第一个操作下面的+
号,找到显示结果
这个操作,把它添加进来。它会自动把刚刚获取的URL内容作为自己所要显示的结果。
现在,核心操作已经添加完毕。我们到ios设备的设置中打开无线局域网,连接校园WiFi。然后回到快捷指令,点击右下角的小三角来测试运行一下刚刚添加的两个操作。这时会出现允许访问校园网的提示,点击好
。
如果卡在了第一个操作,那么很可能是你的校园WiFi没连接好。一旦登录完成,就会显示如下图的登录成功的信息。现在我们可以用浏览器打开p.nju.edu.cn
,验证一下是否已经登录完毕。
如果之前一步点成了不允许快捷指令访问校园网,也没有关系。我们点击右上角的三个点(在下一步
的下方),打开互联网
选项(这个选项在运行此快捷指令之后,也即点击右下角小三角之后,才会出现),然后再次点击右下角的小三角重新测试运行即可。
测试运行成功之后,我们点击下一步,为这个快捷指令取一个名字。这样,一个完整的快捷指令就创建完毕了。
我们可以把它添加到设备的主屏幕上。在所有快捷指令
中,找到刚刚做好的一键登录
这个快捷指令,点击它右上角的三个点,我们就再次来到了该指令的编辑界面。点击该界面中右上角的三个点,再点击添加到主屏幕
,它就被添加到主屏幕上了。
每当需要登录校园网时,只需要点一下主屏幕上的一键登录
图标,就能完成登录。
在这一部分中,我们想要达到的效果是,只要连接上校园WiFi,设备就能自动执行上一部分所创建的快捷指令,而不用我们手动点击主屏幕上一键登录
图标。这里我们所要用到的工具是快捷指令的自动化
。
首先打开快捷指令app,点击下方菜单栏中的自动化
进入自动化界面。接着点击创建个人自动化
,选择无线局域网
,点击选取
,找到校园WiFiNJU-WLAN
,点击它打上钩。然后点击右上角的完成
,再点击右上角的下一步
,这样我们就进入了添加操作的编辑界面。
方才我们所进行的步骤是在设置自动化的条件。也就是说,当我们的设备连接上校园WiFi时,该条件即被满足,随即设备就应该自动开始执行一系列操作(即我们接下来将在此编辑界面中添加的操作)。想一想,设备在连上校园WiFi之后应该执行什么操作呢?没错,就是登录校园网。与文章的上一部分所述内容完全相同,我们在此编辑界面中添加登录校园网的两个操作。添加完成后,我们点击下一步
和完成
,自动化就创建完毕了。我们可以连接校园WiFi来测试一下自动化是否运行成功。
在上文中,无论是快捷指令还是自动化,我们的指令的最后一个操作都是显示结果
,也即显示了如下信息:
其实,我们想要看到信息的只有“登录成功”四个字,其它的内容都是冗余信息。我们想要把这些冗余信息过滤掉,只显示“登录成功”或者“登录失败”。于是我们点击显示结果
这个操作右上角的x
来删除它,然后添加操作从输入中获取文本
。接着添加操作如果
,以及两个显示结果
。两个显示结果
的内容分别为“登录成功”和“登录失败”。我们需要把这两个显示结果
分别拖动到如果
和否则
的下方。这里还有一个小技巧:长按某个操作的左上角图标,然后选择复制
,我们就可以得到该操作的一份拷贝。
再次测试运行一下你的快捷指令或自动化,看看结果是否与你的预期相同?
参照“核心步骤”所实现的效果,我们为登出校园网实现了一个快捷指令,并把它添加在主屏幕上。当需要登出校园网时,点击主屏幕上的图标即可登出。完整的快捷指令我们以图片的形式给出。我们把它作为一个小练习,请读者自己实现。
小提示
登出校园网只需要向
p.nju.edu.cn/portal_io/logout
(注意该URL
与登录校园网的URL
并不一样)发送POST
请求即可,不需要再填写用户名和密码。如果发送该请求迟迟得不到响应,那么请检查一下是否已连接校园WiFi且已登录校园网。