偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

開發(fā) 后端
通過分析登陸流程并使用 Python 實現(xiàn)模擬登陸到一個實驗提供的網(wǎng)站,在實驗過程中將學(xué)習(xí)并實踐 Python 的網(wǎng)絡(luò)編程,Python 實現(xiàn)模擬登陸的方法,使用 Firefox 抓包分析插件分析網(wǎng)絡(luò)數(shù)據(jù)包等知識。

[[236439]]

 

一、教程簡介

1.1 基本介紹

通過分析登陸流程并使用 Python 實現(xiàn)模擬登陸到一個實驗提供的網(wǎng)站,在實驗過程中將學(xué)習(xí)并實踐 Python 的網(wǎng)絡(luò)編程,Python 實現(xiàn)模擬登陸的方法,使用 Firefox 抓包分析插件分析網(wǎng)絡(luò)數(shù)據(jù)包等知識。

模擬登錄可以幫助用戶自動化完成很多操作,在不同場合下有不同的用處,無論是自動化一些日常的繁瑣操作還是用于爬蟲都是一項很實用的技能。本課程通過 Firefox 和 Python 來實現(xiàn),環(huán)境要求如下:

  • Python 庫:urllib, http.cookiejar, Django
  • Firefox 要求:裝有 live http header插件 (已提供)
通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

1.3 材料

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

1.4 準(zhǔn)備

1) 安裝抓包插件Live Http Headers

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

2)啟動web應(yīng)用

使用 ps -aux | grep codebox 查詢獲得 codebox 的進程號,然后使用 kill -9 進程號 停止 codebox 進程。執(zhí)行過程見下圖:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

首先安裝demo依賴的web框架django,并測試是否安裝成功:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

啟動成功后在瀏覽器中輸入 http://localhost:8000/polls 看到登錄頁面表示啟動成功

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

二、分析登錄過程

要通過編程實現(xiàn)登錄,首先需要理解一般Web應(yīng)用的登陸過程。

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

2.1 抓取請求

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

2.2原理分析

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

為什么是2個請求而不是1個呢?通過分析登錄請求發(fā)現(xiàn),登陸成功之后服務(wù)器發(fā)送了302重定向響應(yīng),服務(wù)器要求瀏覽器重新請求首頁,這就產(chǎn)生了第二個請求。再來分析第二個請求,可以看到它相比登錄請求多了一個請求頭:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

整個登錄流程如下圖所示:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

服務(wù)器到底是如何區(qū)別不同用戶的session的?為什么登陸成功會后要回寫cookie呢?

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

2.3小結(jié)

對于服務(wù)器來說,登錄=驗證+寫session。對于瀏覽器來說,登錄=發(fā)送登錄信息+獲取帶sessionid的cookie??梢哉f,只要獲得了sessionid,就算實現(xiàn)了模擬登錄。有了它我們便可以游離于系統(tǒng)之中。

三、使用Python實現(xiàn)登錄(簡單實例)

理解了登錄過程的原理和細節(jié)之后,開始用Python來編寫模擬登陸程序吧。

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

3.1導(dǎo)入模塊

不要忘記編寫文件頭、導(dǎo)入必要的依賴模塊

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

3.2構(gòu)造登錄請求

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

登錄請求的實體部分如下:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

全部Python代碼:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

附加參數(shù)

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

防盜鏈

Web 應(yīng)用的資源都是有url的,只要獲得了url就能夠在任何地方引用。聽起來很方便,但這可能會導(dǎo)致你的資源被別人盜用。

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

3.3發(fā)送請求并保存cookie

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

Python代碼如下:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

如果登陸成功

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

就可以在指定的文件my_cookies.txt中看到sessionid了。

3.4 使用cookie訪問系統(tǒng)服務(wù)

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

在我們模擬登錄成功后,就可以直接通過opener打開這個url來使用這項系統(tǒng)服務(wù)。代碼實現(xiàn)如下:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

如果有是在另外一個python文件中使用這個cookie的話,再打開url之前需要先載入cookie:

通過抓包,實現(xiàn)Python模擬登陸各網(wǎng)站,原理分析!

 

教程取自實驗樓。 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2012-05-24 13:39:11

Python

2022-04-13 11:46:17

抓包wireshark丟包

2009-07-16 15:14:27

WebWork用戶登陸

2021-07-12 06:23:38

抓包gRpcRPC 框架

2015-01-13 09:08:54

內(nèi)容安全策略CSP

2020-10-13 16:02:03

HTTPS淺析與抓包分

2020-10-16 08:02:00

Android系統(tǒng)

2021-06-02 14:45:52

遠程服務(wù)器Python

2010-05-28 15:08:09

MySQL遠程登陸

2011-07-20 09:27:37

Scala

2019-09-27 09:35:12

2009-08-28 09:59:05

BingiPhone微軟

2011-09-01 11:08:41

安全登陸Windows服務(wù)器網(wǎng)絡(luò)安全

2012-02-15 17:17:02

開放平臺

2009-12-21 17:48:30

WCF方法重載

2011-08-08 11:23:59

騰達路由器

2011-03-08 13:52:25

Proftpd

2010-04-21 17:20:03

Unix遠程

2009-05-25 08:42:57

2012-02-28 09:41:20

AD病毒微軟
點贊
收藏

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