程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python requests.post 請求返回415的一個問題

編輯:Python

背景:練習requests 請求的時候向一個網站發起post請求,攜帶的參數為

我已經添加了頭部和數據但是返回是這樣的

這是因為我在寫requests.post(url=url,data=data,headers=headers)這裡寫錯了。

應該是:

response = requests.post(url=url, json=data,headers=headers)

因為要注意的是:

'Content - Type': 'application / json',

於是最後請求成功。 

Content-Type知識補充

1.傳統的ajax請求時候,Content-Type默認為"文本"類型。
2.傳統的form提交的時候,Content-Type默認為"Form"類型。
3.axios傳遞字符串的時候,Content-Type默認為"Form"類型。
4.axios傳遞對象的時候,Content-Type默認為"JSON"類型

Content-Type的值,Form與非Form時,payload的區別。

1.都只支持字符串類型(以上探究的幾種情況)
2.Form需要傳遞的格式為key1=value1&key2=value2,類似GET請求的QueryString格式
3.非Form一般為JSON.stringify(formDataObject)形式

後端取不到值?

無論何種形式傳遞,後端解析表單信息的時候,會考慮Content-Type。如果是JSON字符串的話,後端解析payload的內容時候,肯定要去解析JSON啦。如果是key1=value1&key2=value2的形式,則需要去分割字符串。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved