Python調用API接口的幾種方式

本文主要介紹python中調用API的幾種方式,下面是python中會用到的庫。
 
1.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  =  '
=  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" })
=  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' })
=  requests.post(github_url, data, auth = ( 'user' '*****' ))
print  r.json
 
以上幾種方式均可以調用API來執行動做,但requests這種方式代碼最簡潔,最清晰,建議採用。
相關文章
相關標籤/搜索