教你如何用Python模擬http請求(GET,POST)
阿新 • • 發佈:2018-07-01
客戶 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)