?
python中調(diào)用API的幾種方式:
- urllib2
- httplib2
- pycurl
- requests?
?
urllib2
import
urllib2, urllib
github_url
=
'
https://api.github.com/user/repos
'
password_manager
=
urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, github_url,
'
user
'
,
'
***
'
)
auth
= urllib2.HTTPBasicAuthHandler(password_manager)
#
create an authentication handler
opener = urllib2.build_opener(auth)
#
create an opener with the authentication handler
urllib2.install_opener(opener)
#
install the opener...
request = urllib2.Request(github_url, urllib.urlencode({
'
name
'
:
'
Test repo
'
,
'
description
'
:
'
Some test repository
'
}))
#
Manual encoding required
handler =
urllib2.urlopen(request)
print
handler.read()
?
2.? httplib2
import
urllib, httplib2
github_url
=
'
h = httplib2.Http(
"
.cache
"
)
h.add_credentials(
"
user
"
,
"
******
"
,
"
data = urllib.urlencode({
"
name
"
:
"
test
"
})
resp, content
= h.request(github_url,
"
POST
"
, data)
print
content
?
3.? pycurl
import
pycurl, json
github_url
=
"
user_pwd =
"
user:*****
"
data
= json.dumps({
"
name
"
:
"
test_repo
"
,
"
description
"
:
"
Some test repo
"
})
c
=
pycurl.Curl()
c.setopt(pycurl.URL, github_url)
c.setopt(pycurl.USERPWD, user_pwd)
c.setopt(pycurl.POST,
1
)
c.setopt(pycurl.POSTFIELDS, data)
c.perform()
?
4.? requests
import
requests, json
github_url
=
"
data = json.dumps({
'
name
'
:
'
test
'
,
'
description
'
:
'
some test repo
'
})
r
= requests.post(github_url, data, auth=(
'
user
'
,
'
*****
'
))
print
r.json
以上幾種方式都可以調(diào)用API來執(zhí)行動作,但requests這種方式代碼最簡潔,最清晰,建議采用。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

