乙個http請求包括三個部分,為別為請求行,請求報頭,訊息主體,類似以下這樣:
http協議規定post提交的資料必須放在訊息主體中,但是協議並沒有規定必須使用什麼編碼方式。
服務端通過是根據請求頭中的content-type欄位來獲知請求中的訊息主體是用何種方式進行編碼,再對訊息主體進行解析。
具體的編碼方式包括:
最常見post提交資料的方式,以form表單形式提交資料。
以json串提交資料。
multipart/form-data
一般使用來上傳檔案。
reqeusts支援以form表單形式傳送post請求,只需要將請求的引數構造成乙個字典,然後傳給requests.post()的data引數即可。
錯誤寫法:json格式data引數不能傳送字典,不然執行會報錯
headers可以用fiddler去抓取
正確寫法
1.import json
用json.dumps將字典轉換成json格式
r = requests.post(url=url,data=json.dumps(data),headers=headers)
r = requests.post(url=url,json=jdata,headers=headers)上傳檔案在爬蟲中使用的很少,不過還是使用requests講解一下使用方式。
content-type型別為multipart/form-data,以multipart形式傳送post請求,只需將一檔案傳給requests.post()的files引數即可。還是以 為例,
**如下:
url = ''files =
r = requests.post(url, files=files)
print(r.text)
python介面自動化1 傳送get請求
前言 requests模組,也就是老汙龜,為啥叫它老汙龜呢,因為這個官網上的logo就是這只汙龜,接下來就是學習它了。一 環境安裝 1.用pip安裝requests模組 二 get請求 2.這裡的r也就是response,請求後的返回值,可以呼叫response裡的status code方法檢視狀態...
python介面自動化2 傳送post請求
前言 傳送post的請求參考例子很簡單,實際遇到的情況卻是很複雜的,首先第乙個post請求肯定是登入了,但登入是最難處理的。登入問題解決了,後面都簡單了。一 檢視官方文件 2.檢視python傳送get和post請求的案例 import requests r requests.get r.statu...
python介面自動化之傳送get(三)
1 安裝requests requests是python的第三方庫,需要進行安裝。安裝之前最好先關閉fiddler cmd win r快捷鍵 輸入 pip install requests 其他命令 解除安裝 pip uninstall requests 檢視全部 pip list 檢視包 pip ...