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


Posted in Python onNovember 19, 2019

这篇文章主要介绍了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爬取读者并制作成PDF
Mar 10 Python
简单介绍Python中的JSON使用
Apr 28 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 Python
Python实现中值滤波去噪方式
Dec 18 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Python必须了解的35个关键词
Jul 16 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 Python
Python Django2.0集成Celery4.1教程
Nov 19 #Python
通过celery异步处理一个查询任务的完整代码
Nov 19 #Python
Django 自动生成api接口文档教程
Nov 19 #Python
wxpython实现按钮切换界面的方法
Nov 19 #Python
Python性能分析工具Profile使用实例
Nov 19 #Python
使用apiDoc实现python接口文档编写
Nov 19 #Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 #Python
You might like
php 中文处理函数集合
2008/08/27 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
php中yii框架实例用法
2020/12/22 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
nodejs基础知识
2017/02/03 NodeJs
Express + Session 实现登录验证功能
2017/09/08 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
python求斐波那契数列示例分享
2014/02/14 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
详解Python的循环结构知识点
2019/05/20 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
同学聚会欢迎辞
2014/01/14 职场文书
合作意向书范本
2014/03/31 职场文书
集中采购方案
2014/06/10 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis