最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月21日 14:55:04   作者:Python進(jìn)擊者  
這篇文章主要介紹了如何利用Python優(yōu)雅的登錄校園網(wǎng),幫助大家更好的理解和使用python,感興趣的朋友可以了解下

前言

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

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

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

然后輸入賬號密碼登錄。

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

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

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

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

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

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

# encoding: utf-8
import requests

# 檢查是否連接入校園網(wǎng)
def checkinternet():
  url = 'xxxxxxxxxxxxxxxxxxxxxx' #校園網(wǎng)登錄的地址,用來測試是否連接校園網(wǎng) 
  try:
    code = requests.get(url, timeout=5).status_code
    if code != 200:
      print('沒有網(wǎng)絡(luò)哦~')
      return 0
    elif code == 200:
      return 1
    else:
      return 2
  except:
    return 2


def login(username, password):
  url = 'xxxxxxxxxxxxxxxxxx' # 校園網(wǎng)表單提交url
  postdata={
    'action': 'login',
    'ac_id': 1,
    'user_ip':'',
    'nas_ip':'',
    'user_mac':'',
    'username': username,
    'password': password,
    'save_me': '0',
    'ajax': 1
  }
  res = requests.post(url, data=postdata)
  res.encoding = res.apparent_encoding
  res = res.text
  if 'login ok' in res: # 如果存在該字段
    res = "登錄成功!"
    return res
  if '5分鐘' in res: # 多次錯誤提交可能會導(dǎo)致賬戶鎖定5分鐘
    print("登錄失?。?)
    return res
  if 'E2620' in res:  # 此處是賬號已經(jīng)在別的設(shè)備登錄的情況,先注銷然后再次登錄
    logout(url, username, password)
    return login(username, password)
  return res

# 退出當(dāng)前賬號的登錄
def logout(url, username, password):
  logout_data = {
    'action': 'logout',
    'username': username,
    'password': password,
    'ajax': 1
  }
  res1 = requests.post(url, data=logout_data)
  res1.encoding = res1.apparent_encoding
  res1 = res1.text
  print("賬戶已退出!")


if __name__ == '__main__':
  status = checkinternet()
  if status == 0:
    txt = login(xxxxx, xxxxxxxx) # 輸入賬號密碼
    print(txt)
  elif status == 1:
    print("有網(wǎng)絡(luò)!")
    txt = login(xxxxxxx, xxxxxxx)
    print(txt)
  else:
    print("未知結(jié)果!")

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

這里推薦一個庫---pyinstaller

pip install pyinstaller

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

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

pyinstaller -F 文件名.py

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

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

以上就是利用Python優(yōu)雅的登錄校園網(wǎng)的詳細(xì)內(nèi)容,更多關(guān)于python 登錄校園網(wǎng)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pytorch如何實(shí)現(xiàn)多個矩陣拼接

    pytorch如何實(shí)現(xiàn)多個矩陣拼接

    這篇文章主要介紹了pytorch如何實(shí)現(xiàn)多個矩陣拼接問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python使用fastapi快速編寫一個增刪改查的接口

    Python使用fastapi快速編寫一個增刪改查的接口

    這篇文章主要為大家詳細(xì)介紹了Python如何使用fastapi快速編寫一個增刪改查的接口,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法示例

    Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)獲取系統(tǒng)臨時目錄及臨時文件的方法,結(jié)合實(shí)例形式分析了Python文件與目錄操作相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2019-06-06
  • Python?pycharm讀取文件相對路徑與絕對路徑的方法

    Python?pycharm讀取文件相對路徑與絕對路徑的方法

    這篇文章主要給大家介紹了關(guān)于Python?pycharm讀取文件相對路徑與絕對路徑的方法,絕對路徑就是文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進(jìn)行一級級目錄指向文件,相對路徑就是以當(dāng)前文件為基準(zhǔn)進(jìn)行一級級目錄指向被引用的資源文件,需要的朋友可以參考下
    2023-12-12
  • Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài)原理與用法詳解

    Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài)原理與用法詳解

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài),結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中繼承、多態(tài)的相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • 關(guān)于pandas的read_csv方法使用解讀

    關(guān)于pandas的read_csv方法使用解讀

    這篇文章主要介紹了關(guān)于pandas的read_csv方法使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • python中zip函數(shù)用法詳解(全)

    python中zip函數(shù)用法詳解(全)

    這篇文章主要給大家介紹了關(guān)于python中zip函數(shù)用法詳解的相關(guān)資料,zip()是Python的一個內(nèi)建函數(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Django contenttypes 框架詳解(小結(jié))

    Django contenttypes 框架詳解(小結(jié))

    這篇文章主要介紹了Django contenttypes 框架詳解(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 淺析Python3中的對象垃圾收集機(jī)制

    淺析Python3中的對象垃圾收集機(jī)制

    在Python中,它在每個對象中保持了一個計數(shù)器,用于記錄指向該對象的的引用的個數(shù)。這篇文章主要介紹了Python3中的對象垃圾收集機(jī)制,需要的朋友可以參考下
    2019-06-06
  • Python利用函數(shù)式編程實(shí)現(xiàn)優(yōu)化代碼

    Python利用函數(shù)式編程實(shí)現(xiàn)優(yōu)化代碼

    函數(shù)式編程(Functional Programming)是一種編程范式,它將計算視為函數(shù)的求值,并且避免使用可變狀態(tài)和循環(huán),在Python中還可以利用它的簡潔和高效來解決實(shí)際問題,下面我們就來學(xué)習(xí)一下它的具體用法吧
    2023-11-11

最新評論

武义县| 平南县| 正安县| 福建省| 馆陶县| 化州市| 长治县| 永兴县| 吉木萨尔县| 策勒县| 成安县| 乐东| 霍林郭勒市| 达日县| 都安| 包头市| 九江市| 都昌县| 开鲁县| 汶川县| 茂名市| 安图县| 沛县| 南通市| 铁岭市| 徐汇区| 太谷县| 东乡| 巴东县| 黄冈市| 乌兰县| 甘南县| 军事| 宿松县| 湘西| 萨迦县| 禹城市| 鸡西市| 新密市| 天柱县| 长春市|