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 18 Python
Python中__name__的使用实例
Apr 14 Python
Python卸载模块的方法汇总
Jun 07 Python
使用Python生成XML的方法实例
Mar 21 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
python中scrapy处理项目数据的实例分析
Nov 22 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
python如何读取.mtx文件
Apr 22 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
如何开始收听短波广播
2021/03/01 无线电
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
python利用hook技术破解https的实例代码
2013/03/25 Python
python发布模块的步骤分享
2014/02/21 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python 解压pkl文件的方法
2018/10/25 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
Python中logging日志库实例详解
2020/02/19 Python
Django框架请求生命周期实现原理
2020/11/13 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
活动总结的格式
2014/05/07 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
小人国观后感
2015/06/11 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python