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的web.py框架下的application.py模块
May 02 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
深入理解Python3 内置函数大全
Nov 23 Python
关于Python数据结构中字典的心得
Dec 04 Python
对Python发送带header的http请求方法详解
Jan 02 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
Python页面加载的等待方式总结
Feb 28 Python
OpenCV-Python实现油画效果的实例
Jun 08 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python爬取个性签名的方法
2018/06/17 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python列表切片常用操作实例解析
2019/12/16 Python
python 写一个性能测试工具(一)
2020/10/24 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
什么是View State?
2013/01/27 面试题
酒店服务与管理毕业生求职信
2013/11/02 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
小学生毕业评语
2014/12/26 职场文书
财政局个人年终总结
2015/03/03 职场文书