宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!

content-Type: 数据类型(text/html等) content-Length: Body的长度

Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上; UseRagent: 声明用户操作系统浏览器版本信息;

RefeReR: 当前页面是从哪个页面跳转过来的;

location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;

cookie: 用于在客户端存储少信息. 通常用于实现会话(session)的功能;

2.具体实现

%ignoRe_pRe_1%

上面是代码的主要逻辑细节信息还需要抓包填充。一开始电脑上是没有安装Requests包的,需要自己先安装一下,后面python需要导入的包都是用pIP3命令安装。如果没安装pIP3命令的,请自行安装。

%ignoRe_pRe_2%

2.1 获取uRl

谷歌浏览器先打开上网登录窗口,然后按F12键进入开发者模式,勾选保留日志,输入账号密码,进行登录,在网络那里获取登录时的http请求报文。

图片[1]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

然后查看抓到的包,查看第一个即可,一般是第一个,如果不放心可以点进区查看,看到标头里的请求方法,确保是POST。然后里面还有一个请求网址,就是uRl了。只需要复制?问号前面的内容即可,后面的是一些GET方法的请求参数,不明白什么意思的看长文uRl的解释。

往下拉,还有响应标头,请求标头等信息,:waRning:注意,因为我们要向服务器请求登录,所以我们需要的是请求标头,而不是响应,别搞错了。

图片[2]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

%ignoRe_pRe_3%

这样就完成了第一步,获取到了校园地址。为什么说不建议直接从浏览器里面复制呢,比如我们学校这种情况返回的响应是3xx,说明网址被重定向过了,所以抓包到的地址比较准确一些。

2.2 获取请求报文的报头

图片[3]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

把请求标头里的内容填充到代码块里,部分headeR的含义上文已经解释过,还想了解更多请自行搜索。填充的格式是键值 key:values模式,key和values都是字符串需要加引号,上下键值用逗号隔开,下面是我自己的报文,只是个例子。

%ignoRe_pRe_4%

2.3 获取请求报文的数据

图片[4]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

图片[5]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

把载荷里的查询字符串、表单数据都填充到程序块中,这里主要上传的就是你的登录信息,不要填错了。

%ignoRe_pRe_5%

2.4 获取本机的局域网IP

为什么要单独写一个函数获取主机IP呢,因为IP地址分为固定IP地址和动态IP地址,我们需要获取的是动态的IP地址,它是一直变化的,不能直接在请求数据里填抓包拿到的地址,不然你换个地方,可能那个地址就失效了。

固定IP:固定IP地址是长期固定分配给一台计算机使用的IP地址,一般是特殊的服务器才拥有固定IP地址

动态IP:因为IP地址资源非常短缺,通过电话拨号上网或普通宽带上网用户一般不具备固定IP地址,而是由ISP动态分配暂时的一个IP地址,这些都是计算机系统自动完成的。

%ignoRe_pRe_6%

写到这里其实,已经可以自动连接校园网了,但是前提是你先打开Wi-Fi,连到学校校园网Wi-Fi。说到底,现在的功能只能帮助你登录校园网,连接校园网Wi-Fi的事情还是得你来做,如果你之前连的是其他网络,那么你还有进行网络的切换。

所以还要再增加一个自动连接Wi-Fi的功能,刚好python里有一个pywifi包可以支持这个功能。但是!!直接pIP3 安装的pywifi包里面不支持mac os的Wi-Fi控制,因为开发这个pywifi包的作者不用mac os系统,所以pywifi包只支持windows和linux。

好在,后来有提出这个问题,作者后来又写了一个适合mac os的包,不过需要自己下载。我也是经历很多波折,才解决了这个问题。

3.自动连接Wi-Fi

还是先在终端安装pywifi包,然后找到pywifi包对应位置,把内容全部替换成支持moc os 的pywifi包。

%ignoRe_pRe_7%

如果找不到pywifi路径可以先执行卸载命令,然后就会弹出所以安装过的包路径了,然后复制所需的路径,最好选择n命令,停止卸载就行。

图片[6]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

得到安装路径以后,可以在终端里查看,也可以在mac可视化文件模式里查看,我更喜欢可视化,打开的时候有的文件夹就翻译成中文了,我相信只要用心肯定能找到。

图片[7]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

图片[8]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

图片[9]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

找到pywifi路径之后,就要下载支持mac os的pywifi包了,下载完进行替换就行。那这个支持mac os的pywifi在哪呢?这里给出作者gIThub的地址,作者awkman在Issue24里面也回答了,他写了一个兼容macos的demo程序

图片[10]-宽带连接 自动连接-用python写一个脚本,自动连wifi,自动登录校园网!-OK资源网

moc版pywifi

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发