requests中構造post請求注意點


構造post請求時需要注意點:

 通過requests.post()進行POST請求時,傳入報文的參數有兩個,一個是data,一個是json。

如果是urlencoded data=字典
如果是json格式的
data=json字符串
或者json=字典post底層會自動轉換為json格式
 
        
1、不管json是str還是dict,如果不指定headers中的content-type,默認為application/json
2、data為dict時,如果不指定content-type,默認為application/x-www-form-urlencoded,相當於普通form表單提交的形式
3、data為str時,如果不指定content-type,默認為application/json
4、multipart/form-data類型:multipart/form-data主要用於文件上傳,
當我們使用它時,必須讓 form表單的enctype 等於 multipart/form-data
files = {"file": open("C:/Users/Administrator/Desktop/test.txt", "rb")}
r = requests.post("http://httpbin.org/post", files=files)

注意:消息體格式嵌套
外部格式>內部格式 外部表單+內部json
內部json格式的需要手動填入json格式字符串,或者使用dumps()函數轉換下
具體代碼:
info = json.dumps({"name":"lll","desc":"test","display_idx":"4",})
r3 = requests.post("http://localhost/api/mgr/sq_mgr/",
data={"action":"add_course",
"data":info})
r3 = requests.post("http://localhost/api/mgr/sq_mgr/",
data={"action":"add_course",
"data":'''
{"name":"lll","desc":"test","display_idx":"4"}
'''})
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM