我們知道,python的requests模塊提供了一種簡(jiǎn)單的方式供人們以不同的方法請(qǐng)求一個(gè)服務(wù)。例如,我們有一個(gè)java提供的服務(wù),接口地址為:
http://127.0.0.1:5000/virtual/path
,方法是post,那么,利用python請(qǐng)求該服務(wù)就可以簡(jiǎn)單的寫成:
import
requests
url
=
'http://127.0.0.1:5000/virtual/path'
data
=
"your data"
r
=
requests
.
post
(
url
=
url
,
data
=
data
)
這樣,就完成了一次post請(qǐng)求,返回的內(nèi)容可以調(diào)用對(duì)象
r
的相關(guān)方法進(jìn)行查看,這不是這篇文章的重點(diǎn),不作討論。
我們知道,要想成功請(qǐng)求服務(wù),那么
data
必須符合一定的格式。假如以表單的形式提交,接收兩個(gè)參數(shù),分別是
para1
和
para2
,由于某種原因,
para1
需要被設(shè)置為null,
para2
為字符串類型。如果用上述的方法去調(diào)用,那么
data
的形式為:
data
=
{
'para1'
:
.
.
.
,
'para2'
:
'a string'
}
null是java中的合法對(duì)象,那么我們?cè)趐ython中該傳入什么對(duì)象呢?python中表示null含義的關(guān)鍵字是None,因此,
data
應(yīng)該寫成:
data
=
{
'para1'
:
None
,
'para2'
:
'a string'
}
注意,為了能夠讓傳過去的
data
對(duì)象能夠被java正確的接收,還應(yīng)該將其轉(zhuǎn)化為json格式,那么,所有的代碼寫出來就是:
import
requests
import
json
url
=
'http://127.0.0.1:5000/virtual/path'
data
=
{
'para1'
:
None
,
'para2'
:
'a string'
}
r
=
requests
.
post
(
url
=
url
,
data
=
json
.
dumps
(
data
)
)
絕大部分語言里都有“空對(duì)象”的概念,只不過名稱不一樣,為了能在語言之間正確傳遞,往往需要將它們轉(zhuǎn)換成一個(gè)通用的對(duì)象,json格式有時(shí)候是個(gè)不錯(cuò)的選擇。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
