Python實現(xiàn)連接dr校園網(wǎng)示例詳解
背景
在校園里認證上網(wǎng)很麻煩需要web輸入賬號密碼有時還會忘記web地址此時就需要一個人或者程序幫我們實現(xiàn),這時我想到用python制作這個程序(初學者python代碼不規(guī)范)
分析

需要分析web登錄網(wǎng)址的瀏覽器頭發(fā)現(xiàn)是get方法這就簡單了,再次分析get請求發(fā)現(xiàn)有user_account字段,user_password字段還有ip字段mac字段這時我們的思路就來了使用curl命令直接把這個代碼放到終端里運行發(fā)現(xiàn)是可以的
curl "http://學校認證服務(wù)器ip:801/eportal/?c=Portal&a=login&callback=dr1004&login_method=1&user_account=你的賬號&user_password=你的密碼&wlan_user_ip=終端的ip&wlan_user_ipv6=&wlan_user_mac=終端的mac&wlan_ac_ip=&wlan_ac_name=&jsVersion=3.3.3&v=隨機四位數(shù)/"
返回信息
dr1004({"result":"1","msg":"\u8ba4\u8bc1\u6210\u529f"})
使用unicode在線轉(zhuǎn)中文發(fā)現(xiàn)
dr1004({result: "1", msg: "認證成功"})
理論成功
實現(xiàn)
經(jīng)過分析我們需要以下信息
1.上網(wǎng)賬號
2.賬號密碼
3.設(shè)備ip
4.設(shè)備mac
5.4位隨機數(shù)
獲取ip(wlan連接)
網(wǎng)上方法很多但都獲取不到正確的索性用最笨的方法獲取調(diào)用 ipconfig /all 方法
import random
import os
import requests
from urllib import parse
mac_ip_hostname=os.popen("ipconfig /all")
macmore=mac_ip_hostname.read()
此時獲取的是一大堆網(wǎng)絡(luò)信息并不是我們想要的所以要用到find方法找到特殊字段的位置
macw=macmore.find("無線局域網(wǎng)適配器 WLAN")
找到了不代表能用現(xiàn)在需要把這個字符串進行截取從找到的位置到之后的400個字符的數(shù)據(jù)都截取下來
再賦值給別的函數(shù)
macm = ''
i=macw
y=macw+400
while i< y:
macm += macmore[i]
i =i+1
這時定義一個函數(shù)來接收400個字符數(shù)據(jù),現(xiàn)在的問題是我們還是不能直接使用還要進行截取我們需要的數(shù)據(jù),我們還需要find找到 物理地址 這個字段的數(shù)據(jù),如法炮制我們進行3次查找就找到了所需要的數(shù)據(jù)(如果是lan 網(wǎng)線的話,方法一樣)
macxw=macm.find("物理地址")
#print(macxw)
x=macxw
y=macxw+50
macxm=''
while x<y:
macxm +=macm[x]
x =x+1
maci=macxm.find("-")
m1=maci-2
m2=maci-1
m3=maci+1
m4=maci+2
m5=maci+4
m6=maci+5
m7=maci+7
m8=maci+8
m9=maci+10
m10=maci+11
m11=maci+13
m12=maci+14
mac=(macxm[m1]+macxm[m2]+macxm[m3]+macxm[m4]+macxm[m5]+macxm[m6]+macxm[m7]+macxm[m8]+macxm[m9]+macxm[m10]+macxm[m11]+macxm[m12])
我們獲取到了mac 這時我們還缺少ip數(shù)據(jù),像ip這種數(shù)據(jù)不是固定字符所以不能用上述一個方法來取值還需要rindex方法,先用上面的方法進行截取數(shù)據(jù)到IP的數(shù)據(jù)時我們先將字符串里的數(shù)字先遍歷出來找到第一個數(shù)字的位置,和最后一個數(shù)字的位置然后我們在取值就完美解決ip地址字符不確定的問題
ipcxw=macm.find("IPv4 地址")
o=ipcxw+10
p=ipcxw+70
ipc=''
while o<p:
ipc +=macm[o]
o =o+1
#print(ipc)
op=0
ipsd=''
is_op='0123456789'
isstart = False #定義是否是數(shù)字開始的標記變量
for a in ipc: #將數(shù)字循環(huán)遍歷
if a in is_op: #判斷取出來的數(shù)字是否是數(shù)字
if isstart==True:
ipsd = ipsd+a
else:
ipsd = ipsd+a
isstart=True
ipzh=(ipsd[len(ipsd)-1])
ipks=(ipsd[0])
ipce=ipc.find(ipks)
ipcea=ipc.rindex(ipzh)
j=ipce
l=ipcea+1
ip = ''
while j<l:
ip +=ipc[j]
j =j+1
我們還需要隨機四位數(shù)
c=''
for i in range(4):
ch = chr(random.randrange(ord('0'), ord('9') + 1))
c += ch
現(xiàn)在我們要用到requests庫中的get方法來進行與服務(wù)器交流
url="http://學校認證服務(wù)器ip:801/eportal/?c=Portal&a=login&callback=dr1004&login_method=1&user_account="+user+"&user_password="+password+"&wlan_user_ip="+ip+"&wlan_user_ipv6=&wlan_user_mac="+mac+"&wlan_ac_ip=&wlan_ac_name=&jsVersion=3.3.3&v="+c+"" (user=你的用戶,password=你的賬戶密碼) qinqiu=requests.get(url)
現(xiàn)在我們需要服務(wù)器給我們返回信息
print(str(qinqiu.content))
到此這篇關(guān)于Python實現(xiàn)連接dr校園網(wǎng)示例詳解的文章就介紹到這了,更多相關(guān)Python連接校園網(wǎng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Tabulate庫實現(xiàn)格式化表格數(shù)據(jù)
在數(shù)據(jù)分析和軟件開發(fā)中,表格數(shù)據(jù)的展示是一個常見的需求,無論是簡單的數(shù)據(jù)報告,還是復雜的數(shù)據(jù)可視化,表格都是一種直觀且有效的信息展示方式,tabulate庫是一個非常實用的工具,它可以幫助我們輕松地將數(shù)據(jù)格式化為各種表格形式,本文將詳細介紹tabulate庫的使用方法2025-02-02
Python如何實現(xiàn)xml解析并輸出到Excel上
本文介紹了如何使用Python的ElementTree模塊解析XML文件,并將解析后的數(shù)據(jù)寫入Excel文件,通過編寫XML文件、解析XML、編寫將數(shù)據(jù)寫入Excel的函數(shù),最終實現(xiàn)XML數(shù)據(jù)到Excel的轉(zhuǎn)換2025-02-02
Python內(nèi)置數(shù)據(jù)類型中的集合詳解
這篇文章主要為大家詳細介紹了Python內(nèi)置數(shù)據(jù)類型中的集合,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
Python使用get_text()方法從大段html中提取文本的實例
今天小編就為大家分享一篇Python使用get_text()方法從大段html中提取文本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python+PIL實現(xiàn)批量在圖片上寫上自定義文本
Pillow 是一個 Python 的圖像處理庫,它是 Python Imaging Library (PIL) 的一個分支,并且增加了更多的功能,下面我們看看如何利用它實現(xiàn)批量在圖片上寫上自定義的文本吧2024-11-11
python對接ihuyi實現(xiàn)短信驗證碼發(fā)送
在本篇文章里小編給大家分享的是關(guān)于python對接ihuyi實現(xiàn)短信驗證碼發(fā)送功能,需要的朋友們可以參考下。2020-05-05
python 獲取sqlite3數(shù)據(jù)庫的表名和表字段名的實例
今天小編就為大家分享一篇python 獲取sqlite3數(shù)據(jù)庫的表名和表字段名的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

