当前位置 主页 > 网站技术 > 代码类 >

    python调用接口的4种方式代码实例

    栏目:代码类 时间:2019-11-19 21:06

    这篇文章主要介绍了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这种方式代码最简洁,最清晰,建议采用。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。