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中星号变量的几种特殊用法
Sep 07 Python
完美解决python遍历删除字典里值为空的元素报错问题
Sep 11 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
python从入门到精通 windows安装python图文教程
May 18 Python
python psutil模块使用方法解析
Aug 01 Python
python打造爬虫代理池过程解析
Aug 15 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Python经纬度坐标转换为距离及角度的实现
Nov 01 Python
Python使用grequests并发发送请求的示例
Nov 05 Python
python 基于opencv操作摄像头
Dec 24 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
php 什么是PEAR?(第二篇)
2009/03/19 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
asp批量修改记录的代码
2008/06/25 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
Python切片知识解析
2016/03/06 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
实现Python与STM32通信方式
2019/12/18 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
CNC数控操作工岗位职责
2013/11/19 职场文书
大学在校生求职信范文
2013/11/21 职场文书
大学生自荐信
2013/12/11 职场文书
党日活动总结
2014/05/07 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
Mysql 一主多从的部署
2022/05/20 MySQL