python实现自动登录
cemon_liu Lv4

电脑连接无线网时要做二次验证,即先输入无线密码连接无线,然后会弹出网页要求在网页输入账号和密码。每天连接都是这样比较麻烦,所以考虑使用自动化运行。思路如下:

  1. bat调用命令power-shell
  2. 使用power-shell script 运用python程序
  3. python使用request库访问URL 并post请求

那为何不是bat直接调用python呢?正常的情况下可以直接调用。但是不知我的电脑是不是环境设置有问题。在VS code中terminal里面使用的power-shell都可以正常运用,直接在cmd里面运用python就报错。所以不得不中转一下。

新建一个g.bat 调用power-shell命令,wifi.ps1为power shell命令档

1
powershell wifi.ps1

新建powershell命令档

1
&D:/ProgramData/Anaconda3/python.exe e:/wifi.py

调用python命令来运行python文件

新建wifi.py文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import requests
url = 'https://XXXXXXX/login.html'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) \
Chrome/94.0.4606.81 Safari/537.36'
}
data = {
'network_name': 'wifi',
'username': 'xxxxx',
'password': 'xxxxx'
}
res = requests.post(url=url, headers=headers, data=data, verify=False)
print(res.request.body)
print(res.status_code)

使用requests库的post(url,headers,data,verify=False).在调试过程中发现下面两个问题:

  1. post的data类型比较多,要注意识别。这里使用比较通用的form类型。所以数据采用key:value模式。
  2. 报错SSL connection问题,增加verify=False可以跳过错误。

最后的设定,使用uTools将bat文件添加到本地命令启动。这样后面连接无线网之后,直接按alt+space,输入g回车即可自动认证。

  • 本文标题:python实现自动登录
  • 本文作者:cemon_liu
  • 创建时间:2021-10-20 15:50:39
  • 本文链接:https://blog.gooday.press/2021/10/20/python实现自动登录/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论