1. 程式人生 > >教你如何用Python模擬http請求(GET,POST)

教你如何用Python模擬http請求(GET,POST)

客戶 python TE all pos get 傳輸協議 AD 服務

模擬http請求有什麽用呢?

我們現在使用的所有需要使用網絡的:軟件 應用 app 網站裏面的絕大部分功能都是通過http協議來工作的

什麽是http協議?

http協議,超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。

需要詳細了解http請自行搜索,本文簡單說一下http的請求過程

由客戶端發送請求,請求為一段文字(請求報文),服務端得到請求中參數,由後端進行處理,然後執行相應的功能,

由服務端返回一段文字(響應報文,也有不返回信息的),客戶端拿到報文中的信息,做出相應顯示。

我們以某APP用戶註冊為例

當用戶需要註冊,填寫完成自己的手機號碼(此時沒有發生請求)

技術分享圖片

點擊獲取驗證碼按鈕,此時由客戶端(APP)向某個地址發送了一個請求報文,報文中包含了你填寫的手機號,如圖:

技術分享圖片

請求中包含了一個phone參數,值為你的手機號碼

然後服務端收到你的手機號碼,執行了發送短信驗證碼功能,然後向客戶端發送了響應報文,如圖:

技術分享圖片

響應報文中包含了一些參數,服務端拿到這些參數,做出相應顯示(例如顯示:消息發送成功)

以上就完成了一次http的交互,

根據以上實例我們就可以通過模擬請求報文,傳入某人手機號,多次發送請求,實現騷擾手機號主人(短信轟炸機功能)

該如何模擬請求呢?

首先我們要安裝requests模塊

安裝命令

pip install requests

首先分析請求

技術分享圖片

圖中請求方式為post,所以我們要用requests.post(url,headers,data)函數,這個函數需要三個參數,我們對照圖片所示

填寫

Python程序中

import requests
#導入模塊
url="http://bbs.zcbxw.com/mag/xxx/xx/......."#自行補全
headers={"Host":"bbs.zcbxw.com","xxx":"xxx","xx":"xx"}自行補全
data="phone=手機號碼&country_code=86"
requests.post(url=url,headers=headers,data=data)
#將headers與url按照圖中所示補全,其他代碼不變,運行,就完成了一個請求

教你如何用Python模擬http請求(GET,POST)