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 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
python爬取淘宝商品详情页数据
Feb 23 Python
Python实现的质因式分解算法示例
May 03 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python中的decimal类型转换实例详解
Jun 26 Python
12个步骤教你理解Python装饰器
Jul 01 Python
Python如何获取Win7,Win10系统缩放大小
Jan 10 Python
python实现人机五子棋
Mar 25 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
javascript 特殊字符串
2009/02/25 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
软件工程专业推荐信
2013/10/28 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js