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检测是文件还是目录的方法
Jul 03 Python
让python在hadoop上跑起来
Jan 27 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
python双向链表原理与实现方法详解
Dec 03 Python
python3 求约数的实例
Dec 05 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
Python内置异常类型全面汇总
May 28 Python
python中pickle模块浅析
Dec 29 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 无线电
PHP开发入门教程之面向对象
2006/12/05 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
Vue header组件开发详解
2018/01/26 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
koa源码中promise的解读
2018/11/13 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
python编程实现12306的一个小爬虫实例
2017/12/27 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python用for循环求和的方法总结
2019/07/08 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
租赁意向书范本
2014/04/01 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python