?
python中調用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
以上幾種方式都可以調用API來執行動作,但requests這種方式代碼最簡潔,最清晰,建議采用。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

