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

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

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

前言

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

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

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

然后輸入賬號(hào)密碼登錄。

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

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

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

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

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

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

# encoding: utf-8
import requests

# 檢查是否連接入校園網(wǎng)
def checkinternet():
  url = 'xxxxxxxxxxxxxxxxxxxxxx' #校園網(wǎng)登錄的地址,用來(lái)測(cè)試是否連接校園網(wǎng) 
  try:
    code = requests.get(url, timeout=5).status_code
    if code != 200:
      print('沒(méi)有網(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: # 多次錯(cuò)誤提交可能會(huì)導(dǎo)致賬戶(hù)鎖定5分鐘
    print("登錄失敗:")
    return res
  if 'E2620' in res:  # 此處是賬號(hào)已經(jīng)在別的設(shè)備登錄的情況,先注銷(xiāo)然后再次登錄
    logout(url, username, password)
    return login(username, password)
  return res

# 退出當(dāng)前賬號(hào)的登錄
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("賬戶(hù)已退出!")


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

講解完了代碼部分,我們?cè)撊绾螌⑺虬梢粋€(gè)可執(zhí)行文件直接通過(guò)點(diǎn)擊就可以進(jìn)行聯(lián)網(wǎng)呢?

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

pip install pyinstaller

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

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

pyinstaller -F 文件名.py

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

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

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

相關(guān)文章

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

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

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

    Python使用fastapi快速編寫(xiě)一個(gè)增刪改查的接口

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

大余县| 济阳县| 且末县| 濮阳县| 凤城市| 岑巩县| 涿鹿县| 肥西县| 罗甸县| 巴中市| 垫江县| 红原县| 增城市| 拉萨市| 河津市| 克拉玛依市| 陆良县| 永川市| 萨迦县| 龙州县| 汨罗市| 仙居县| 来安县| 和顺县| 娱乐| 夏河县| 岑溪市| 潢川县| 新沂市| 双辽市| 和政县| 潍坊市| 兰溪市| 彭水| 柳州市| 北宁市| 合川市| 兴隆县| 天全县| 东丽区| 乐陵市|