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 输出一个两行字符的变量
Feb 05 Python
Python深入学习之闭包
Aug 31 Python
python实现自动更换ip的方法
May 05 Python
python杀死一个线程的方法
Sep 06 Python
python语言使用技巧分享
May 31 Python
Python制作简易注册登录系统
Dec 15 Python
浅谈Python基础之I/O模型
May 11 Python
Django框架验证码用法实例分析
May 10 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 Python
Python中栈、队列与优先级队列的实现方法
Jun 30 Python
Python如何用filter函数筛选数据
Mar 05 Python
python爬取股票最新数据并用excel绘制树状图的示例
Mar 01 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中break及continue两个流程控制指令区别分析
2011/04/18 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
python实现银行实战系统
2020/02/26 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
函授教育个人学习的自我评价
2013/12/31 职场文书
公司庆典邀请函范文
2014/01/13 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
七年级地理教学计划
2015/01/22 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python