首页 🐍Python,💻主机常见问题

1.首先我们打开校园网登录主界面,先不要登录

1.png

2.点击F12打开开发者工具,点击上方Network,然后再点击登录

登录前:2.png
登陆后:3.png

注:这里我们可以看到请求方式为GET,注意区别,那代码实现就很好处理

3.查看Request Headers和Query String Parameters (还有可能出现Form data 也要注意)

4.png

4.代码实现(Python版本3.8.5)

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
@author: S3ner
@file: autologin.py
@time: 2021/3/5 9:49
@desc: 
"""

import base64
import requests
import socket
import urllib

## 获取当前网络IP
try:
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.connect(('8.8.8.8',80))
    ip = s.getsockname()[0]
finally:
    s.close()
print("当前网络IP为:"+ip)

## Get 请求头部信息 (也可直接复制) 
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36',
'Accept': '*/*',
'Referer': 'http://x.x.x.x/',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cookie':'xxxxxxxxxxxx',
'Host': 'x.x.x.x:port',
'Connection':'keep-alive'
}

## 一些字符串参数,有些会不同
params = {
'c': 'Portal',
'a': 'login',
'callback': 'dr1003',
'login_method':'1',
'user_account':' ,0,xxxxxx@cmcc',
'user_password':' xxxxxx',
'wlan_user_ip': ip,
'wlan_user_ipv6':'',
'wlan_user_mac':'xxxxxxxxxxxx',
'wlan_ac_ip':'x.x.x.x',
'wlan_ac_name': 'ME60-1',
'jsVersion': '3.3.2',
'v': '7292'
}

url_parame=urllib.parse.urlencode(params)
url = "http://x.x.x.x:port/?"
# 这里注意url拼接是否正确
sum_url=url+url_parame

data=urllib.request.urlopen(sum_url).read()

record=data.decode('UTF-8')

print(record)

5.之后用bat脚本和计划任务将此python程序开机自启即可



文章评论