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

yipeiwu_com5年前Python基础

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现代码统计工具

本文实例为大家分享了Python实现代码统计工具的具体代码,供大家参考,具体内容如下 思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加. 实现的功能: 统计每个文件的...

python 哈希表实现简单python字典代码实例

这篇文章主要介绍了python 哈希表实现简单python字典代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 class...

详谈python3中用for循环删除列表中元素的坑

for循环语句的对象是可迭代对象,可迭代对象需要实现__iter__或iter方法,并返回一个迭代器,什么是迭代器呢?迭代器只需要实现 __next__或next方法。 现在来验证一下列...

Python文本特征抽取与向量化算法学习

Python文本特征抽取与向量化算法学习

本文为大家分享了Python文本特征抽取与向量化的具体代码,供大家参考,具体内容如下 假设我们刚看完诺兰的大片《星际穿越》,设想如何让机器来自动分析各位观众对电影的评价到底是“赞”(po...

TensorFlow实现随机训练和批量训练的方法

TensorFlow实现随机训练和批量训练的方法

TensorFlow更新模型变量。它能一次操作一个数据点,也可以一次操作大量数据。一个训练例子上的操作可能导致比较“古怪”的学习过程,但使用大批量的训练会造成计算成本昂贵。到底选用哪种训...