我現在的理解是,data
和files
都將數據放入一個POST(requests.post()
)的身體,但它們之間有什麼區別呢?什麼時候應該在另一個或兩個上使用?最後,HTTP API是否可以要求事物處於一種或另一種狀態,或者它可能無關緊要,因爲它們在接收端或其他方面難以區分?差異請求
Q
差異請求
3
A
回答
0
讓我分享我發現的東西,儘管如果有人真正知道他/她在說什麼可以詳細說明這個問題(或改正我),我將非常感激。
下面介紹一下requests api docs不得不說關於請求的這些參數()方法:
數據 - (可選)字典或元組列表[(鍵,值)](將 是形式編碼),字節或類似文件的對象在請求的主體中發送。
和
文件 - '名稱' 的(可選)詞典:類文件的對象(或 { '名稱':文件元組}),用於多編碼上傳。文件元組可以是 2元組('filename',fileobj),3元組('filename',fileobj, 'content_type')或4元組('filename',fileobj,'content_type', custom_headers),其中'content-type'是一個字符串,用於定義給定文件的內容 類型和custom_headers類似於dict的對象 包含爲文件添加的其他頭文件。
我想data
將被編碼爲在HTTP請求的內容類型application/x-www-form-urlencoded
,而files
將被編碼爲multipart/form-data
。如果您同時傳遞數據和文件,則後者也成立。這也可以通過查看產生的request.headers
和request.body
來看到。有關這些內容類型及其預期用途的更多信息,請參閱W3C recommendations。
在requests QuickStart guide中給出了一些示例。這些也可以很好地說明預期用途。
相關問題
- 1. 拉請求差異
- 2. NodeJS差異請求的差異響應
- 3. 差異BTW中斷和中斷請求
- 4. Ajax請求之間的差異?
- 5. Java API/Google Chrome請求之間的HTTP請求差異?
- 6. 請求1.0.4異步請求
- 7. 異步請求
- 8. SQL請求和使用BLToolkit的鏈接請求中的差異響應
- 9. 誤差RestKit POST請求
- 10. 郵差和POST請求
- 11. 郵差請求編碼
- 12. 誤差的OAuth請求
- 13. 郵差請求鏈接
- 14. 谷歌Qt http差請求
- 15. iOS SBJson請求變差
- 16. GuzzleHttp異步請求異常
- 17. CmisInvalidArgumentException異常請求異常
- 18. 異步HTTP請求,排隊請求
- 19. nsurlconnection異步請求
- 20. MonoTouch異步請求
- 21. Python請求異常
- 22. 異步JSON請求
- 23. JSON異步請求
- 24. 異步請求vaadin
- 25. Django異步請求
- 26. 發送請求從客戶瀏覽器差異主機
- 27. Django - 使用request.GET和請求之間的差異。POST
- 28. git pull請求不更新新文件中的差異
- 29. Do/Can瀏覽器在http請求中使用差異嗎?
- 30. 請求從Git中移出的文件的歷史差異