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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
Python装饰器基础详解
Mar 09 Python
浅析Python中元祖、列表和字典的区别
Aug 17 Python
python脚本实现验证码识别
Jun 07 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
django的ORM模型的实现原理
Mar 04 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
详解Python yaml模块
Sep 23 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 Python
Python天气语音播报小助手
Sep 25 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
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
python写一个md5解密器示例
2018/02/23 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python3最长回文子串算法示例
2019/03/04 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
python用for循环求和的方法总结
2019/07/08 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
新学期标语
2014/06/30 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
优秀员工自荐书
2015/03/06 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript