python呼叫介面的4種方式程式碼例項
阿新 • • 發佈:2020-01-09
這篇文章主要介紹了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這種方式程式碼最簡潔,最清晰,建議採用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。