自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Python優(yōu)雅的登錄校園網(wǎng)?

開發(fā) 后端
今天這篇文章的思路來源于校園網(wǎng),很多的校園網(wǎng)在每次連接時(shí)都需要進(jìn)入一個(gè)網(wǎng)址進(jìn)行登錄,這個(gè)步驟真的是非常非常的麻煩(大學(xué)生都懂~)。所以這次來教大家如何實(shí)現(xiàn)一鍵登錄校園網(wǎng)。

 前言

今天這篇文章的思路來源于校園網(wǎng),很多的校園網(wǎng)在每次連接時(shí)都需要進(jìn)入一個(gè)網(wǎng)址進(jìn)行登錄,這個(gè)步驟真的是非常非常的麻煩(大學(xué)生都懂~)。所以這次來教大家如何實(shí)現(xiàn)一鍵登錄校園網(wǎng)。

[[343817]]

一鍵登錄校園網(wǎng)

首先我們來看下整個(gè)的流程。首先需要進(jìn)行網(wǎng)絡(luò)連接,連接之后會(huì)跳轉(zhuǎn)到一個(gè)網(wǎng)址,也就是校園網(wǎng)登錄的網(wǎng)址。

 

然后輸入賬號密碼登錄。

我們需要做到的效果就是點(diǎn)擊一個(gè)可執(zhí)行文件然后實(shí)現(xiàn)校園網(wǎng)的自動(dòng)登錄。(這里的可執(zhí)行文件在mac中為excu文件、win中為exe)

我們首先解決如何通過Python進(jìn)行登錄,然后再解決打包的問題。

其實(shí)對于Python的登錄,會(huì)爬蟲的朋友應(yīng)該很快就知道直接通過requests進(jìn)行表單提交即可。

首先,我們抓包獲取校園網(wǎng)登錄提交表單的地址:

 

 

 

 

同時(shí),我們也拿到需要提交的表單格式,有些學(xué)校的校園網(wǎng)可能需要通過驗(yàn)證碼驗(yàn)證,一般不會(huì)有很復(fù)雜的驗(yàn)證方式,如果需要驗(yàn)證,那么需要去破解一下驗(yàn)證碼,https://github.com/hellokuls/cnnyzm。這里給出我之前寫的驗(yàn)證碼破解案例。

 

 

 

 

拿到了之后就好辦了,直接post模擬提交就行了,這里我給出我所寫的代碼,基本的邏輯都是差不多,大家只需要改成自己學(xué)校的相關(guān)信息就可以了。

 

  1. # encoding: utf-8 
  2. import requests 
  3.  
  4. # 檢查是否連接入校園網(wǎng) 
  5. def checkinternet(): 
  6.     url = 'xxxxxxxxxxxxxxxxxxxxxx'  #校園網(wǎng)登錄的地址,用來測試是否連接校園網(wǎng)  
  7.     try: 
  8.         code = requests.get(url, timeout=5).status_code 
  9.         if code != 200: 
  10.             print('沒有網(wǎng)絡(luò)哦~'
  11.             return 0 
  12.         elif code == 200: 
  13.             return 1 
  14.         else
  15.             return 2 
  16.     except
  17.         return 2 
  18.  
  19.  
  20. def login(username, password): 
  21.     url = 'xxxxxxxxxxxxxxxxxx' # 校園網(wǎng)表單提交url 
  22.     postdata={ 
  23.         'action''login'
  24.         'ac_id': 1, 
  25.         'user_ip':''
  26.         'nas_ip':''
  27.         'user_mac':''
  28.         'username': username, 
  29.         'password'password
  30.         'save_me''0'
  31.         'ajax': 1 
  32.     } 
  33.     res = requests.post(url, data=postdata) 
  34.     res.encoding = res.apparent_encoding 
  35.     res = res.text 
  36.     if 'login ok' in res:  # 如果存在該字段 
  37.         res = "登錄成功!" 
  38.         return res 
  39.     if '5分鐘' in res:  # 多次錯(cuò)誤提交可能會(huì)導(dǎo)致賬戶鎖定5分鐘 
  40.         print("登錄失?。?quot;
  41.         return res 
  42.     if 'E2620' in res:   # 此處是賬號已經(jīng)在別的設(shè)備登錄的情況,先注銷然后再次登錄 
  43.         logout(url, username, password
  44.         return login(username, password
  45.     return res 
  46.  
  47. # 退出當(dāng)前賬號的登錄 
  48. def logout(url, username, password): 
  49.     logout_data = { 
  50.         'action''logout'
  51.         'username': username, 
  52.         'password'password
  53.         'ajax': 1 
  54.     } 
  55.     res1 = requests.post(url, data=logout_data) 
  56.     res1.encoding = res1.apparent_encoding 
  57.     res1 = res1.text 
  58.     print("賬戶已退出!"
  59.  
  60.  
  61. if __name__ == '__main__'
  62.     status = checkinternet() 
  63.     if status == 0: 
  64.         txt = login(xxxxx, xxxxxxxx) # 輸入賬號密碼 
  65.         print(txt) 
  66.     elif status == 1: 
  67.         print("有網(wǎng)絡(luò)!"
  68.         txt = login(xxxxxxx, xxxxxxx) 
  69.         print(txt) 
  70.     else
  71.         print("未知結(jié)果!"

講解完了代碼部分,我們該如何將它打包成一個(gè)可執(zhí)行文件直接通過點(diǎn)擊就可以進(jìn)行聯(lián)網(wǎng)呢?

這里推薦一個(gè)庫---pyinstaller

 

  1. pip install pyinstaller 

這個(gè)庫能夠?qū)y文件直接打包成可執(zhí)行文件,支持win/mac/linux平臺。

當(dāng)我們寫完文件后執(zhí)行下面命令:

 

  1. pyinstaller -F 文件名.py 

執(zhí)行完后,我們可以看到生成了幾個(gè)文件夾,而可執(zhí)行文件就在dist文件夾中。

 

 

 

 

 

放在桌面上,每次連接直接點(diǎn)擊一下就可以連接校園網(wǎng)了~

 

 

 

責(zé)任編輯:華軒 來源: Python進(jìn)擊者
相關(guān)推薦

2010-03-12 19:40:40

Python程序

2011-03-24 14:06:25

2013-11-04 14:46:18

2011-03-25 16:26:30

2010-04-27 09:23:00

WLAN校園網(wǎng)

2011-03-25 16:28:46

漏洞掃描系統(tǒng)

2011-03-25 16:17:36

2009-12-25 11:31:09

Linux連接校園網(wǎng)

2011-03-25 16:27:15

2010-03-24 20:28:48

廣域網(wǎng)加速

2018-11-01 15:59:41

校園網(wǎng)網(wǎng)絡(luò)建設(shè)極簡網(wǎng)絡(luò)

2010-07-23 21:11:17

2009-05-13 10:06:42

2014-01-03 10:24:24

校園網(wǎng)PK大賽銳捷網(wǎng)絡(luò)

2010-06-13 09:06:45

WLAN網(wǎng)絡(luò)優(yōu)化

2011-04-02 12:42:42

2010-09-08 21:53:59

2011-06-03 10:34:42

2009-01-07 09:18:00

2010-06-23 21:12:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號