欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    0.引言

    校園網是通過網頁進行連接的,但是由于主機不方便攜帶,想要遠程使用主機的時候非常的麻煩,因此想要通過腳本進行實時聯網,通過遠程軟件控制電腦。

    實驗室不斷電,因此主機是可以不關機的,那只要保持一個程序每隔一段時間試試網絡是否已經連接,此外還需要讓電腦開機后此程序自動啟動。

    但是每一個學校的校園網連接的邏輯不盡相同,網上很多的解決方案都是很簡單的,網絡結構不一樣。此處只是做一個示范。

    1.腳本語言選擇

    此腳本使用作為開發語言。

    2.查看連接邏輯 2.1打開聯網網頁

    我們在這個地方進行登錄,需要輸入我們的賬號,密碼,選擇服務公司,這些明顯都是需要傳到后臺的。

    點擊F12,打開開發者工具,選擇記錄網絡日志并保留,然后開始聯網。

    彈出了很多東西,細看的話,很多是.jpg.png.js等腳本,圖片等無關緊要的東西。很明顯,第一個,第二個是很重要的

    點擊打開第一個,這是一個post請求,無法使用網頁進行訪問,并且帶了很多參數。

    此外,下方的請求標頭對于模擬瀏覽器客戶端很重要,因此需要寫在中,每個人的都不一樣,需要自己改自己的。

    header = {
                "Accept": "*/*",
                "Accept-Encoding": "gzip, deflate",
                "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
                "Connection": "keep-alive",
                "Content-Length": "941",
                "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
                "Cookie": "EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_DOMAIN=false; EPORTAL_COOKIE_SAVEPASSWORD=true; EPORTAL_COOKIE_USERNAME=322085404530; EPORTAL_COOKIE_PASSWORD=0e82e0b84c8ba2c18b5fe965ec253b6d448d0476abf3ce5f6efcde46acdac5d8cc8ee0d3f3569214a16e5910af7a584f75eecab10a84caa2ed79e66b151798a264ab9e3729cad2046dd348794280f6157d0b9420c044a38bcb18e94583918c3c68aa4ce3aa9019b9127fee6e28b41079f52b90d69f8a0f1ed2525bd9f286a400; EPORTAL_COOKIE_SERVER=%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8; EPORTAL_COOKIE_SERVER_NAME=%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8%E4%BA%92%E8%81%94%E7%BD%91; EPORTAL_USER_GROUP=%E5%AE%9C%E5%AE%BE%E7%A1%95%E5%A3%AB2022; JSESSIONID=B04D7AF5F98C58CC70067DC564A562C6",
                "Host": "10.23.2.4",
                "Origin": "http://10.23.2.4",
    

    windows store app 檢測耳機狀態_狀態檢測包過濾防火墻_檢測網絡狀態代碼

    "Referer": "http://10.23.2.4/eportal/index.jsp?wlanuserip=50525b554b0c65a6304f42a91276d565&wlanacname=e8130dd9c88c8bf8f89b46fc0ae05c03&ssid=&nasip=e3da122140ddbef7db67d7cc0223f6b3&snmpagentip=&mac=1e44feae4f0a12f6b0e08c7651ae7e11&t=wireless-v2&url=2c0328164651e2b4f13b933ddf36628bea622dedcc302b30&apmac=&nasid=e8130dd9c88c8bf8f89b46fc0ae05c03&vid=9593a4d18664f1de&port=61e47cad1a7f4a94&nasportid=5b9da5b08a53a540cb3c232440f12fc3940e960c1d813d54ef234b42b50a3fc5", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.46", }

    點擊負載,可以看到自己post請求攜帶的參數

    可以看到,主要攜帶的參數有哪些,這里使用嘗試了一下,返回了用戶不可使用,說明系統后臺對客戶端進行了限制,因此,這里直接寫了一個訪問的代碼,這里的data都需要與上方對應

     data = {
                "userId": '',  # 這行是你需要根據自己的情況修改的地方
                "password": '',  # 這行是你需要根據自己的情況修改的地方
                "queryString": 'wlanuserip%3D50525b554b0c65a6304f42a91276d565%26wlanacname%3De8130dd9c88c8bf8f89b46fc0ae05c03%26ssid%3D%26nasip%3De3da122140ddbef7db67d7cc0223f6b3%26snmpagentip%3D%26mac%3D1e44feae4f0a12f6b0e08c7651ae7e11%26t%3Dwireless-v2%26url%3D2c0328164651e2b4f13b933ddf36628bea622dedcc302b30%26apmac%3D%26nasid%3De8130dd9c88c8bf8f89b46fc0ae05c03%26vid%3D9593a4d18664f1de%26port%3D61e47cad1a7f4a94%26nasportid%3D5b9da5b08a53a540cb3c232440f12fc3940e960c1d813d54ef234b42b50a3fc5',
                "passwordEncrypt": 'true',
                "operatorPwd": '',
                "operatorUserId": '',
                "validcode": '',
                "service": '%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8',
            }
    

    2.2 查看第二個請求

    通過下圖,很明顯這是一個get請求,通過get請求便可以上網。

    多次嘗試,這個url是不改變的,因此檢測網絡狀態代碼,便嘗試了直接訪問這個鏈接是否可以上網。

    答案是否定的,不能夠上網,因此我猜測上網的邏輯是首先通過post請求查看此用戶是否已經連接互聯網,如果連接則顯示已連接,未連接則在后臺數據庫如redis存入一個可連接的狀態,直接運行get請求進行連接。

    狀態檢測包過濾防火墻_檢測網絡狀態代碼_windows store app 檢測耳機狀態

    2.3 檢測用戶狀態

    校園網不僅僅是在開機的時候才需要連接互聯網,有時候它會自動斷連,因此需要我們隨時檢測互聯網情況。

    通過測試鏈接發現,當我們跳轉到登錄頁面時檢測網絡狀態代碼,如果我們已經登錄,則會在已登錄頁面,未登錄則在登錄頁面。

    因此,這里我們通過檢測html頁面中來檢測是否已經登錄。

    第一步F12打開開發者界面,點擊元素,在里面ctrl+F查詢,發現里面寫的是登陸成功,因此我們可以使用這個字符串來檢測用戶登陸狀態。

    2.3 核心邏輯

    分析出網絡的邏輯之后代碼就很簡單了。

    第一步:

    使用一個死循環,每間隔60s循環一次檢測此時用戶狀態。如果用戶已經連接

    第二步:

    3.全部代碼示例

    # _*_ coding : utf-8 _*_
    import re    # 正則表達式,用于匹配字符
    from urllib import request
    import chardet as chardet
    import requests    # 用于向目標網站發送請求
    import time
    #url = 'http://10.23.2.4/eportal/index.jsp?wlanuserip=1d90ec446c6b52bb80a013e0ee83ccd2&wlanacname=eb3dea19c415ccae600bdc9db5d15bde&ssid=512b4fa22cd47690c1d677b390465049&nasip=390c1cf6eea7dfbca3f3f0aca4b4d442&mac=20617c667d26c7015c5889cba8afcce5&t=wireless-v2&url=4be2aa94e61657a37b1da9b0c8748ec5d02391b7ff0383fc'    # 這行是你需要根據自己的情況修改的地方
    # url = 'http://10.23.2.4/eportal/index.jsp?wlanuserip=50525b554b0c65a6304f42a91276d565&wlanacname=e8130dd9c88c8bf8f89b46fc0ae05c03&ssid=&nasip=e3da122140ddbef7db67d7cc0223f6b3&snmpagentip=&mac=1e44feae4f0a12f6b0e08c7651ae7e11&t=wireless-v2&url=2c0328164651e2b4f13b933ddf36628bea622dedcc302b30&apmac=&nasid=e8130dd9c88c8bf8f89b46fc0ae05c03&vid=9593a4d18664f1de&port=61e47cad1a7f4a94&nasportid=5b9da5b08a53a540cb3c232440f12fc3940e960c1d813d54ef234b42b50a3fc5'
    url = 'http://10.23.2.4/eportal/success.jsp?userIndex=65336461313232313430646462656637646236376437636330323233663662335f3137322e32312e332e31345f333232303835343034353330&keepaliveInterval=0'
    #url = 'http://10.23.2.4/eportal/index.jsp?wlanuserip=1d90ec446c6b52bb80a013e0ee83ccd2&wlanacname=eb3dea19c415ccae600bdc9db5d15bde&ssid=512b4fa22cd47690c1d677b390465049&nasip=390c1cf6eea7dfbca3f3f0aca4b4d442&mac=20617c667d26c7015c5889cba8afcce5&t=wireless-v2&url=4be2aa94e61657a37b1da9b0c8748ec5d02391b7ff0383fc'
    

    檢測網絡狀態代碼_狀態檢測包過濾防火墻_windows store app 檢測耳機狀態

    while(True): # response = requests.get(schoolWebURL) s = requests.session() response = request.urlopen(url) html = response.read() res = re.findall('(.*)', html.decode(encoding="GBK", errors="strict")) print('res:', res) title = '' if len(res) == 0: pass else: title = res[0] print("title:",title) if title == '登錄成功': # 根據上面的分析填入相應的字符 print('登陸成功!') else: #先使用post postUrl = 'http://10.23.2.4/eportal/InterFace.do?method=login' data = { "userId": '322085404530', # 這行是你需要根據自己的情況修改的地方 "password": '', # 這行是你需要根據自己的情況修改的地方 "queryString": 'wlanuserip%3D50525b554b0c65a6304f42a91276d565%26wlanacname%3De8130dd9c88c8bf8f89b46fc0ae05c03%26ssid%3D%26nasip%3De3da122140ddbef7db67d7cc0223f6b3%26snmpagentip%3D%26mac%3D1e44feae4f0a12f6b0e08c7651ae7e11%26t%3Dwireless-v2%26url%3D2c0328164651e2b4f13b933ddf36628bea622dedcc302b30%26apmac%3D%26nasid%3De8130dd9c88c8bf8f89b46fc0ae05c03%26vid%3D9593a4d18664f1de%26port%3D61e47cad1a7f4a94%26nasportid%3D5b9da5b08a53a540cb3c232440f12fc3940e960c1d813d54ef234b42b50a3fc5', "passwordEncrypt": 'true',

    狀態檢測包過濾防火墻_檢測網絡狀態代碼_windows store app 檢測耳機狀態

    "operatorPwd": '', "operatorUserId": '', "validcode": '', "service": '%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8', } header = { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Connection": "keep-alive", "Content-Length": "941", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie": "EPORTAL_COOKIE_OPERATORPWD=; EPORTAL_AUTO_LAND=; EPORTAL_COOKIE_DOMAIN=false; EPORTAL_COOKIE_SAVEPASSWORD=true; EPORTAL_COOKIE_USERNAME=322085404530; EPORTAL_COOKIE_PASSWORD=0e82e0b84c8ba2c18b5fe965ec253b6d448d0476abf3ce5f6efcde46acdac5d8cc8ee0d3f3569214a16e5910af7a584f75eecab10a84caa2ed79e66b151798a264ab9e3729cad2046dd348794280f6157d0b9420c044a38bcb18e94583918c3c68aa4ce3aa9019b9127fee6e28b41079f52b90d69f8a0f1ed2525bd9f286a400; EPORTAL_COOKIE_SERVER=%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8; EPORTAL_COOKIE_SERVER_NAME=%E5%AE%9C%E5%AE%BE%E7%A7%BB%E5%8A%A8%E4%BA%92%E8%81%94%E7%BD%91; EPORTAL_USER_GROUP=%E5%AE%9C%E5%AE%BE%E7%A1%95%E5%A3%AB2022; JSESSIONID=B04D7AF5F98C58CC70067DC564A562C6", "Host": "10.23.2.4", "Origin": "http://10.23.2.4", "Referer": "http://10.23.2.4/eportal/index.jsp?wlanuserip=50525b554b0c65a6304f42a91276d565&wlanacname=e8130dd9c88c8bf8f89b46fc0ae05c03&ssid=&nasip=e3da122140ddbef7db67d7cc0223f6b3&snmpagentip=&mac=1e44feae4f0a12f6b0e08c7651ae7e11&t=wireless-v2&url=2c0328164651e2b4f13b933ddf36628bea622dedcc302b30&apmac=&nasid=e8130dd9c88c8bf8f89b46fc0ae05c03&vid=9593a4d18664f1de&port=61e47cad1a7f4a94&nasportid=5b9da5b08a53a540cb3c232440f12fc3940e960c1d813d54ef234b42b50a3fc5", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.46", } response = requests.post(postUrl, data, headers=header) print(response.encoding) print(response.text) uft_str = response.text.encode("iso-8859-1").decode('utf-8') print(uft_str)

    狀態檢測包過濾防火墻_檢測網絡狀態代碼_windows store app 檢測耳機狀態

    print("狀態碼{}".format(response)) # 打印狀態碼 # 使用GET方式登錄校園網 schoolWebLoginURL = 'http://10.23.2.4/eportal/success.jsp?userIndex=65336461313232313430646462656637646236376437636330323233663662335f3137322e32312e332e31345f333232303835343034353330&keepaliveInterval=0' response = requests.get(schoolWebLoginURL).status_code # 直接利用 GET 方式請求這個 URL 同時獲取狀態碼 print("狀態碼{}".format(response)) # 打印狀態碼 # 每10s檢測一次是否成功連接 time.sleep(10)

    4.打包成為exe文件及持久化操作

    5.細節改進

    細節的改進主要有下面幾點

    5.1 隨機時間訪問

    原來的代碼訪問服務器的時間是固定的(1min),但是這樣很容易被后臺識別為惡意爬蟲,因此,這里使用了一個時間防止賬號被封。

    修改的代碼如下。

    import random
    

    # 每60-80秒一次
        rand = random.uniform(0, 20)
        time.sleep(60.0 + rand)
    

    5.2 exe運行框隱藏

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有