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的三目运算符和not in运算符使用示例
Mar 03 Python
python写的ARP攻击代码实例
Jun 04 Python
跟老齐学Python之Import 模块
Oct 13 Python
Python中DJANGO简单测试实例
May 11 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
python实现按长宽比缩放图片
Jun 07 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
利用Python过滤相似文本的简单方法示例
Feb 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
php学习之 数组声明
2011/06/09 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
Python中的with...as用法介绍
2015/05/28 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
JAVA和C++的区别
2013/10/06 面试题
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
公证委托书格式
2014/09/13 职场文书
服务员岗位职责范本
2015/04/09 职场文书