python 腳本自動登陸校園網


學校的校園網每次重開電腦時都要重新打開瀏覽器進行網頁登錄,繁瑣的操作比較麻煩,於是便寫了個python的腳本進行自動登錄,下面說下具體的操作過程:

1. 方法說明

  博主采用的python的 requests庫,發送post請求給登錄網頁,主要包括請求頭和登錄數據,由於校園網設計的比較簡單,沒有驗證碼什么的,操作起來就比較簡單。我來詳細的說下怎么來獲得登錄的請求頭和登錄數據。首先貼一下學校的校園網登錄界面:

瀏覽器采用的是firefox,右鍵查看元素,查看網絡,然后手動登錄一次會看到相應的登錄過程如下:

 

這里會看到我登錄過程給網頁發送的post請求,然后查看相應的請求頭(不是響應頭)和登錄參數:

 

有了這兩個部分,下面就可以寫程序來登陸啦,具體的代碼如下:

 1 '''
 2 南京大學校園網自動登錄腳本
 3 @author: zutterhao
 4 @parameter: post_addr: 南大校園網登陸地址
 5             post_header:瀏覽器登陸校園網的post請求
 6             post_data: 登陸的用戶名和密碼
 7 @date:2018年5月8日
 8 '''
 9 
10 import requests
11 #登陸地址
12 post_addr = "http://p.nju.edu.cn/portal_io/login"
13 #構造頭部信息
14 post_header = {
15     'Accept': 'application/json, text/javascript, */*; q=0.01',
16     'Accept-Encoding':'gzip, deflate',
17     'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
18     'Connection':'keep-alive',
19     'Content-Length':'39',
20     'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
21     'Host':'p.nju.edu.cn',
22     'Referer':'http://p.nju.edu.cn/portal/index.html?v=201606170633',
23     'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0',
24     'X-Requested-With':'XMLHttpRequest'
25 }
26 #構造登錄數據
27 post_data = {
28     'password': '********',
29     'username': '********'
30 }
31 #發送post請求登錄網頁
32 z = requests.post(post_addr,data=post_data,headers = post_header)
33 print("登錄完成!")

本來准備將py文件轉換為exe文件,但是覺得用.bat批處理更加方便,在py文件目錄下建立一個.bat文件:

1 cd .\autologin\
2 python .\login.py

然后將.bat文件創建一個桌面快捷方式,改一下圖標就可以啦:

這樣,以后只要雙擊就可以進行自動登錄了:)

不過本方法還是有很多不足之處:第一只能支持本電腦的指定瀏覽器,如果換了一個電腦和瀏覽器就不能工作;另一個就是沒有異常處理,不能返回登錄失敗的情況下的信息,后續改進的版本會優化下這些問題,目前使用來看還挺不錯哈哈。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM