这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python中调用API的几种方式:
- - urllib2
- - httplib2
- - pycurl
- - requests
1.urllib2
import urllib2, urllibgithub_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 handleropener = urllib2.build_opener(auth)# create an opener with the authentication handlerurllib2.install_opener(opener)# install the opener ...request = urllib2.Request(github_url, urllib.urlencode({ 'name': 'Test repo', 'description': 'Some test repository' }))# Manual encoding requiredhandler = urllib2.urlopen(request)print handler.read()2. httplib2
import urllib, httplib2github_url = 'h = httplib2.Http(".cache")h.add_credentials("user", "******", " data = urllib.urlencode({ "name": "test" }) resp, content = h.request( github_url, "POST", data) print content3. pycurl
import pycurl, jsongithub_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, jsongithub_url = "data = json.dumps({'name':'test', 'description':'some test repo'}) r = requests.post(github_url, data, auth=('user', '*****'))print r.json以上几种方式都可以调用API来执行动作,但requests这种方式代码最简洁,最清晰,建议采用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。