python post請求實例_Python使用requests發送POST請求實例代碼

本文研究的主要是Python使用requests發送POST請求的相關內容,具體介紹如下。

一個http請求包括三個部分,為別為請求行,請求報頭,消息主體,類似以下這樣:

請求行

請求報頭

消息主體

HTTP協議規定post提交的數據必須放在消息主體中,但是協議并沒有規定必須使用什么編碼方式。服務端通過是根據請求頭中的Content-Type字段來獲知請求中的消息主體是用何種方式進行編碼,再對消息主體進行解析。具體的編碼方式包括:

application/x-www-form-urlencoded

最常見post提交數據的方式,以form表單形式提交數據。

application/json

以json串提交數據。

multipart/form-data

一般使用來上傳文件。

2.7.1 以form形式發送post請求

Reqeusts支持以form表單形式發送post請求,只需要將請求的參數構造成一個字典,然后傳給requests.post()的data參數即可。

url = 'http://httpbin.org/post'

d = {'key1': 'value1', 'key2': 'value2'}

r = requests.post(url, data=d)

print r.text

輸出:

{

“args”: {},

“data”: “”,

“files”: {},

“form”: {

“key1”: “value1”,

“key2”: “value2”

},

“headers”: {

……

“Content-Type”: “application/x-www-form-urlencoded”,

……

},

“json”: null,

……

}

可以看到,請求頭中的Content-Type字段已設置為application/x-www-form-urlencoded,且d = {'key1': 'value1', 'key2': 'value2'}以form表單的形式提交到服務端,服務端返回的form字段即是提交的數據。

2.7.2 以json形式發送post請求

可以將一json串傳給requests.post()的data參數,

url = 'http://httpbin.org/post'

s = json.dumps({'key1': 'value1', 'key2': 'value2'})

r = requests.post(url, data=s)

print r.text

輸出:

{

“args”: {},

“data”: “{\”key2\”: \”value2\”, \”key1\”: \”value1\”}”,

“files”: {},

“form”: {},

“headers”: {

……

“Content-Type”: “application/json”,

……

},

“json”: {

“key1”: “value1”,

“key2”: “value2”

},

……

}

可以看到,請求頭的Content-Type設置為application/json,并將s這個json串提交到服務端中。

2.7.3 以multipart形式發送post請求

Requests也支持以multipart形式發送post請求,只需將一文件傳給requests.post()的files參數即可。

url = 'http://httpbin.org/post'

files = {'file': open('report.txt', 'rb')}

r = requests.post(url, files=files)

print r.text

輸出:

{

“args”: {},

“data”: “”,

“files”: {

“file”: “Hello world!”

},

“form”: {},

“headers”: {……

“Content-Type”: “multipart/form-data; boundary=467e443f4c3d403c8559e2ebd009bf4a”,

……

},

“json”: null,

……

文本文件report.txt的內容只有一行:Hello world!,從請求的響應結果可以看到數據已上傳到服務端中。

總結

以上就是本文關于Python使用requests發送POST請求實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374197.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374197.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374197.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java Micro-Benchmarking:如何編寫正確的基準

幾個月前,我寫了一篇文章比較循環的短索引的性能 。 我問自己關于使用短褲作為循環迭代次數很少的循環的性能。 在Java語言中,所有對整數的操作都是int進行的。 因此,如果我們使用short作為循環索引,則在每次迭代時都將進行類型轉…

新唐M031學習筆記(一)定時器基礎計數應用

先上代碼 void Hw_Timer0_Init(void) {//20:100ms 200:10ms 2000:1ms 20000:100us 200000:10us TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 200000);/* Update prescale to set proper resolution. */TIMER_SET_PRESCALE_VALUE(TIMER0, 1); /* Enable Timer0 interrupt */TI…

java三元操作符注意

/* 三元操作符的類型務必一致 */ public class proposal_3 {public static void main(String[] args) {int i80;String sString.valueOf(i<90?90:100);String s1String.valueOf(i<90?90:100.0);if(s.equals(s1))System.out.println("s和s1相等&#xff01;"…

緩解口臭可以喝一種水

河南中醫學院第一附屬醫院耳鼻喉科主任醫師梅祥勝點評&#xff1a;通常情況下&#xff0c;口臭跟脾胃濕熱有關。中醫講&#xff1a;“胃主受納&#xff0c;脾主運化&#xff1b;胃氣主降&#xff0c;使飲食物及 其糟粕得以下行&#xff0c;脾氣主升&#xff0c;則飲食物之精華得…

asp.net+mvc+easyui+sqlite 簡單用戶系統學習之旅(二)—— easyui的簡單實用

下面開始在UserManager.Web中利用easyUI構建web。 1. 先刪除自帶的controllers、models和views&#xff08;里面的shared和web.config可以保存&#xff09;下面的文件 2. 要利用easyUI&#xff0c;首先去網上下載jquery-easyui-1.3.2.zip&#xff0c;同時下載一份EasyUI-1.3.2.…

adc如何獲取周期_LOL:千玨擁有ADC最需要的位移和無敵能力,為什么沒人用她打下路?...

— 點擊藍字 關注我們 —英雄聯盟自國服上線以來&#xff0c;已經陪伴玩家走過了9個年頭&#xff0c;目前英雄聯盟中的英雄數量已經達到了151位&#xff0c;每一位都各具特色。千玨是一位深受玩家們喜愛的英雄&#xff0c;其在官方英雄的定位中&#xff0c;屬于打野英雄&#x…

航順HK32F030MF4P6 RST作GPIO SWCLK作EXTI5 SWDIO作ADC_AIN0

老習慣&#xff0c;先上代碼 void Hw_Input_Chage_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_IOMUX, ENABLE);GPIOMUX->NRST_PIN_KEY (uint32_t)(0x00005AE1); //KEY…

centos7.2下編譯安裝git

centos最新的7.2版本&#xff0c;git居然是1.8&#xff0c;而最新的git版本是2.9 差的太多了&#xff0c;何況git2.0后有大更新。于是&#xff0c;我決定編譯安裝。中間有一點小破折&#xff0c;記錄一下&#xff0c;備忘。 1&#xff0c;下載最新的源碼&#xff0c;網址&#…

java務必讓常量的值在運行期保持不變

/* 常量就是常量&#xff0c;在編譯期就必須確定其值&#xff0c;不應該在運行期更改&#xff0c;否則程序的可讀性會非常差 */public class proposal_2 {interface Const{public static final int RAND_CONSTnew Random().nextInt();}public static void main(String[] arg…

Java并發教程–信號量

這是我們將要進行的Java并發系列的第一部分。 具體來說&#xff0c;我們將深入探討Java 1.5及更高版本中內置的并發工具。 我們假設您對同步和易失性關鍵字有基本的了解。 第一篇文章將介紹信號量-特別是對信號量進行計數 。 信號量是用于限制對資源訪問的經常被誤解和使用不足…

android surfaceview 大小_Android 使用Camera2 API采集視頻數據

Android 視頻數據采集系列的最后一篇出爐了&#xff0c;和前兩篇文章想比&#xff0c;這篇文章從系統API層面進行一些探索&#xff0c;涉及到的細節更多。初次接觸 Camera2 API 會覺得它的使用有些繁瑣&#xff0c;涉及到的類有些多&#xff0c;不過就像第一次使用Activity, Fr…

java生成隨機字符串

學習java comparable特性時候&#xff0c;定義如下Student類&#xff0c;需要需要隨機添加學生姓名以及學號和成績&#xff0c;這是java如何隨機生成名字&#xff0c;根據我的查詢&#xff0c;我找到目前java庫支持兩種方法。 1. org.apache.commons.lang3.RandomStringUtils類…

使用SharedPreferenes存取數據

//使用SharedPreference存儲數據 public void on(View view){     //獲取用戶名和密碼     String nameeditText1.getText().toString();     String numbereditText2.getText().toString();     //判斷checkBox是否為勾選      CheckBox box(CheckBox…

使用Java VisualVM分析您的應用程序

當您需要發現應用程序的哪個部分消耗更多的CPU或內存時&#xff0c;必須使用探查器執行此操作。 默認情況下&#xff0c;Sun JDK中附帶的一個探查器是Java VisualVM。 這個事件探查器非常簡單易用&#xff0c;功能強大。 在這篇文章中&#xff0c;我們將看到如何安裝它并使用它…

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接

ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接 原文:ArcSDE for SQL Server安裝及在ArcMap中創建ArcSDE連接安裝ArcSDE for SQL Server&#xff0c;最后一步成功后的界面如下&#xff1a;在ArcMap中創建ArcSDE連接&#xff0c;截圖如下&#xff1a;posted on 2016-08-0…

java反射main方法參數注意

public class ReflectMethodMain {public static void main(String[] args) throws Exception {Method methodMainTestArgument.class.getMethod("main", String[].class);/*jdk 1.4之前的版本不支持可變參數&#xff0c;對組類的參數會自動拆包然后用來匹配數據參數…

python調用c函數傳字符串參數_Python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數...

在Python語言中&#xff0c;可以使用ctypes模塊調用其它如C語言編寫的動態鏈接庫DLL文件中的函數&#xff0c;在提高軟件運行效率的同時&#xff0c;也可以充分利用目前市面上各種第三方的DLL庫函數&#xff0c;以擴充Python軟件的功能及應用領域&#xff0c;減少重復編寫代碼、…

沁恒CH554 KEIL環境搭建

首先下載WCHISPTool_Setup.exe http://www.wch.cn/products/CH554.html 123這三個可下載的都下吧&#xff0c;后面開發都要用的 安裝好后運行&#xff0c;菜單欄上&#xff0c;功能->添加WCH MCU到KEIL器件庫 這時候在KEIL安裝目錄里面的UV4文件夾下可以看到wch.cdb的文件…

【CV論文閱讀】Rank Pooling for Action Recognition

這是期刊論文的版本&#xff0c;不是會議論文的版本。看了論文之后&#xff0c;只能說&#xff0c;太TM聰明了。膜拜~~ 視頻的表示方法有很多&#xff0c;一般是把它看作幀的序列。論文提出一種新的方法去表示視頻&#xff0c;用ranking function的參數編碼視頻的幀序列。它使用…

java不要在常量和變量中出現易混淆的字母

public class proposal {public static void main(String[] args) {long i1l; System.out.println("i的兩倍是&#xff1a;"(ii));System.out.println("i的兩倍是&#xff1a;"ii); //注意此處和上面的有很大的區別} }輸出&#xff1a;211/** 注意:* …