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中集合的内建函数和内建方法学习教程
Aug 19 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
Python 字符串与数字输出方法
Jul 16 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
解决python便携版无法直接运行py文件的问题
Sep 01 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
python 三种方法提取pdf中的图片
Feb 07 Python
PyTorch的Debug指南
May 07 Python
pytorch 带batch的tensor类型图像显示操作
May 20 Python
python单元测试之pytest的使用
Jun 07 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
德劲1103的维修打理经验
2021/03/02 无线电
php将时间差转换为字符串提示
2011/09/07 PHP
PHP网页安全认证的实例详解
2017/09/28 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
Python使用爬虫猜密码
2016/02/19 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
python实现用户名密码校验
2020/03/18 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
用python实现名片管理系统
2020/06/18 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
jupyter 添加不同内核的操作
2021/02/06 Python
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
手术室护士自我鉴定
2013/10/14 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
《争吵》教学反思
2014/02/15 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
小班下学期评语
2014/05/04 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
三方股份合作协议书
2014/10/13 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS