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解析json实例方法
Nov 19 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
基于Django用户认证系统详解
Feb 21 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
学习python需要有编程基础吗
Jun 02 Python
Python模块常用四种安装方式
Oct 20 Python
浅谈Python __init__.py的作用
Oct 28 Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 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
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python3实现磁盘空间监控
2018/06/21 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
Python里面如何实现tuple和list的转换
2012/06/13 面试题
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
制药工程专业应届生求职信
2013/09/24 职场文书
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
一句话工作感言
2014/03/01 职场文书
运动会方阵口号
2014/06/07 职场文书
详解python的内存分配机制
2021/05/10 Python
opencv读取视频并保存图像的方法
2021/06/04 Python
java实现对Hadoop的操作
2021/07/01 Java/Android
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB