日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于fiddler的网络爬虫校园网自动登陆系统

發(fā)布時(shí)間:2025/3/15 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于fiddler的网络爬虫校园网自动登陆系统 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近校園網(wǎng)(需要WEB登陸)不太穩(wěn)定,總是掉線,于是想寫一個(gè)基于網(wǎng)絡(luò)爬蟲的校園網(wǎng)自動(dòng)登陸系統(tǒng),讓程序自動(dòng)每隔一段時(shí)間自動(dòng)檢測(cè)網(wǎng)絡(luò)連通性,查了一些資料,最后用了Fiddler軟件進(jìn)行網(wǎng)絡(luò)監(jiān)聽,對(duì)網(wǎng)頁http請(qǐng)求的內(nèi)容和參數(shù)進(jìn)行了解。

Fiddler基礎(chǔ)知識(shí)

  • Fiddler是強(qiáng)大的抓包工具,它的原理是以web代理服務(wù)器的形式進(jìn)行工作的,使用的代理地址是:127.0.0.1,端口默認(rèn)為8888,我們也可以通過設(shè)置進(jìn)行修改。
  • 代理就是在客戶端和服務(wù)器之間設(shè)置一道關(guān)卡,客戶端先將請(qǐng)求數(shù)據(jù)發(fā)送出去后,代理服務(wù)器會(huì)將數(shù)據(jù)包進(jìn)行攔截,代理服務(wù)器再冒充客戶端發(fā)送數(shù)據(jù)到服務(wù)器;同理,服務(wù)器將響應(yīng)數(shù)據(jù)返回,代理服務(wù)器也會(huì)將數(shù)據(jù)攔截,再返回給客戶端。
  • Fiddler可以抓取支持http代理的任意程序的數(shù)據(jù)包,如果要抓取https會(huì)話,要先安裝證書。

HTTP協(xié)議

  • 要分析Fiddler抓取的數(shù)據(jù)包,我們首先要熟悉HTTP協(xié)議。HTTP即超文本傳輸協(xié)議,是一個(gè)基于請(qǐng)求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議,絕大多數(shù)的Web開發(fā),都是構(gòu)建在HTTP協(xié)議之上的Web應(yīng)用。
  • HTTP的工作過程:當(dāng)我們請(qǐng)求一個(gè)超鏈接時(shí),HTTP就開始工作了,客戶端先發(fā)送一個(gè)請(qǐng)求到服務(wù)器,請(qǐng)求內(nèi)容包括:協(xié)議版本號(hào)、請(qǐng)求地址、請(qǐng)求方式、請(qǐng)求頭和請(qǐng)求參數(shù);服務(wù)器收到請(qǐng)求后做相應(yīng)的處理,并將響應(yīng)數(shù)據(jù)返回到客戶端,響應(yīng)內(nèi)容包括:協(xié)議版本號(hào)、狀態(tài)碼和響應(yīng)數(shù)據(jù)。前端根據(jù)響應(yīng)數(shù)據(jù)做相應(yīng)的處理,就是最終我們看到的內(nèi)容。這些過程是HTTP自動(dòng)完成的,我們只是輸入或點(diǎn)擊請(qǐng)求地址,然后查看前端給我們展示的內(nèi)容。更多關(guān)于HTTP協(xié)議的介紹請(qǐng)參考:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
  • 請(qǐng)求方式常用的有:GET、PUT、POST、DELETE。
  • HTTP狀態(tài)碼主要分為5類:以1開頭的代表請(qǐng)求已被接受,需要繼續(xù)處理;以2開頭的代表請(qǐng)求已成功被服務(wù)器接收、理解、并接受;以3開頭的代表需要客戶端采取進(jìn)一步的操作才能完成請(qǐng)求;以4開頭的代表了客戶端看起來可能發(fā)生了錯(cuò)誤,妨礙了服務(wù)器的處理;以5開頭的代表了服務(wù)器在處理請(qǐng)求的過程中有錯(cuò)誤或者異常狀態(tài)發(fā)生,也有可能是服務(wù)器意識(shí)到以當(dāng)前的軟硬件資源無法完成對(duì)請(qǐng)求的處理。
  • 常見的主要有:200:服務(wù)器成功處理了請(qǐng)求;404:未找到資源;500:內(nèi)部服務(wù)器錯(cuò)誤;503:服務(wù)器目前無法為請(qǐng)求提供服務(wù);302:請(qǐng)求的URL已臨時(shí)轉(zhuǎn)移;304:客戶端的緩存資源是最新的,要客戶端使用緩存。
  • 每個(gè)狀態(tài)碼的詳細(xì)介紹請(qǐng)參考:https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

Fiddler抓包原理

注意:Fiddler 是以代理web服務(wù)器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。當(dāng)Fiddler退出的時(shí)候它會(huì)自動(dòng)注銷,這樣就不會(huì)影響別的 程序。不過如果Fiddler非正常退出,這時(shí)候因?yàn)镕iddler沒有自動(dòng)注銷,會(huì)造成網(wǎng)頁無法訪問。解決的辦法是重新啟動(dòng)下Fiddler。

配置

打開Fiddler? Tool->Fiddler Options->HTTPS 。? (配置完后記得要重啟Fiddler).

選中"Decrpt HTTPS traffic",?? ?Fiddler就可以截獲HTTPS請(qǐng)求,第一次會(huì)彈出證書安裝提示,若沒有彈出提示,勾選Actions-> Trust Root Certificate

另外,如果你要監(jiān)聽的程序訪問的 HTTPS 站點(diǎn)使用的是不可信的證書,則請(qǐng)接著把下面的 “Ignore servercertificate errors” 勾選上。

證書安裝提示:

點(diǎn)擊Yes,留意一下紅框里面的內(nèi)容,DO_NOT_TRUST_FiddlerRoot ,這個(gè)就是證書的名稱。?

點(diǎn)擊是。?

點(diǎn)擊確定,這樣Fiddler證書就已經(jīng)添加成功了。

查看一下證書,Actions—>open windows certificate Manager?

可以證書已經(jīng)添加進(jìn)去了,證書名稱就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】

手機(jī)端包抓取可參考https://www.cnblogs.com/woaixuexi9999/p/9247705.html。

上面我們對(duì)Fiddler的架構(gòu)和配置進(jìn)行了相應(yīng)的介紹,下面詳細(xì)介紹程序具體實(shí)現(xiàn)過程

先上圖

上面就是打開我們學(xué)校登錄界面的報(bào)文頭和響應(yīng),然后查看一下輸入賬號(hào)密碼以后的參數(shù)信息,具體信息見程序,下面直接放程序了,詳細(xì)信息可以去網(wǎng)上搜索,很簡(jiǎn)單的

import requests import time from time import sleep url = '登錄網(wǎng)址'def login():postdata = {'username': '賬號(hào)','password': '密碼','action': 'login','ac_id': '1','user_ip':'','nas_ip':'', //具體信息每個(gè)網(wǎng)站不一樣,需要用'user_mac':'', //fiddiler來查看webForms信息'url':'登錄網(wǎng)址','save_me':'1'}headers = {'Accept': 'application/x-ms-application,image/jpeg,application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN','Connection': 'Keep-Alive', //這是登錄界面請(qǐng)求報(bào)文頭'Content-Length': '4587','Content-Type': 'text/html','Cookie': 'login=bQ0o5ZADI11BgO3HLndd%252Bxt3LbV4WDOtcmv8IeEY8w0yxL3s6DIILB0Jrp9m%252B0wjynVc1ZISbR2DkFEzIYuAuCBLlsfcmLRwjsHsaSehvpE93gH54HtueO9Pg5M0piPVpxV2eNMeSXyeR%252FqX%252BBsi6HXaB%252Fgrb%252FtLaQW9Zpc%253D; UM_distinctid=1676291cc5fe3-0be363d479ccea-3a064d5a-100200-1676291cc70ef','Host': '具體參數(shù)見fiddiler報(bào)文頭信息','Referer': '具體參數(shù)見fiddiler報(bào)文頭信息','User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'}requests.post(url, data=postdata)#檢查內(nèi)網(wǎng)是不是聯(lián)通 def is_connect_edu():status_code = requests.get(url).status_codeif status_code == 200:return Trueelse: return False#檢查外網(wǎng)是不是聯(lián)通 def is_connect_web():r = requests.get("http://www.baidu.com").textif r.find('baidu.com') != -1:return Trueelse:return False#周期性檢查網(wǎng)絡(luò)連通性 while True:if is_connect_edu():if not is_connect_web():print("Network disconnected, try connecting...")login()if requests.get('http://www.baidu.com').status_code==200:x='Network back to normal at 'y=time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())print(x+y)else:x='Network connection failed at 'y=time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())print(x+y)else:x='Network connection normal at 'y=time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())print(x+y)time.sleep(5)

完畢!!

網(wǎng)上有很多有關(guān)網(wǎng)絡(luò)爬蟲的實(shí)例,還是很有用的,這個(gè)看不懂,大家去找一些通俗易懂的吧。。。

下面給幾個(gè)比較好的參考文獻(xiàn):

https://blog.csdn.net/abitch/article/details/51939879

https://blog.csdn.net/hty46565/article/details/72822447

https://uule.iteye.com/blog/2408809

https://blog.csdn.net/u010651394/article/details/82975266

https://blog.csdn.net/shenhuaifeng/article/details/78333851

https://blog.csdn.net/internethk2/article/details/79196915

https://blog.csdn.net/shenhuaifeng/article/details/78333851

https://sunlanchang.github.io/2017/10/31/%E6%A0%A1%E5%9B%AD%E7%BD%91%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95%E8%84%9A%E6%9C%AC/????

(最后一篇強(qiáng)烈建議)

?

總結(jié)

以上是生活随笔為你收集整理的基于fiddler的网络爬虫校园网自动登陆系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。