1. 程式人生 > 程式設計 >python呼叫介面的4種方式程式碼例項

python呼叫介面的4種方式程式碼例項

這篇文章主要介紹了python呼叫介面的4種方式程式碼例項,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

python中呼叫API的幾種方式:

  • - urllib2
  • - httplib2
  • - pycurl
  • - requests

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 = '
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這種方式程式碼最簡潔,最清晰,建議採用。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。