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上基于Markov链生成伪随机文本的教程
Apr 17 Python
Python如何实现文本转语音
Aug 08 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
解决Python中定时任务线程无法自动退出的问题
Feb 18 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
python清空命令行方式
Jan 13 Python
Python版中国省市经纬度
Feb 11 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 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
MySQL数据源表结构图示
2008/06/05 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
Yii分页用法实例详解
2014/12/04 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
Yii框架安装简明教程
2020/05/15 PHP
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
Vue实现圆环进度条的示例
2021/02/06 Vue.js
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python中方法链的使用方法
2016/02/23 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Python colormap库的安装和使用详情
2020/10/06 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
如何利用find命令查找文件
2016/11/18 面试题
车间副主任岗位职责
2013/12/24 职场文书
学校后勤岗位职责
2014/02/19 职场文书
党员年终个人总结
2015/02/14 职场文书
李强为自己工作观后感
2015/06/11 职场文书
公司酒会致辞
2015/07/30 职场文书
感恩老师主题班会
2015/08/12 职场文书