【python】调用sm.ms图床api接口,实现上传图片并返回url
图床简介
sm.ms网站提供免费的图床服务。单图上传大小限制5MB,每次最多上传10张,支持多种图片链接格式和api接口调用。
获取令牌
- 注册账号并登录,点击User-Dashboard

- 点击API Token,点击Generate Secret Token

- 记住或复制你的令牌,上传图片的时候会用到
cMZkqPKLXfroLwwGBqpYtunwkKm6BvUp
测试样例

安装依赖
pip3 install requests
上传图片
- 将图片路径作为参数传给upload函数,如我这里的
anime.png - 将
Authorization后面的字符串改为你之前获取的令牌字符串
import requests
import json
def upload(path):
headers = {'Authorization': 'cMZkqPKLXfroLwwGBqpYtunwkKm6BvUp'}
files = {'smfile': open(path, 'rb')}
url = 'https://sm.ms/api/v2/upload'
res = requests.post(url, files=files, headers=headers).json()
print(json.dumps(res, indent=4))
if __name__ == "__main__":
upload('anime.png')
结果输出
可以看到服务器成功的响应了我们的上传请求,并返回了url链接https://i.loli.net/2020/09/16/FWzobx3PcRhGEJ7.png
{
"success": true,
"code": "success",
"message": "Upload success.",
"data": {
"file_id": 0,
"width": 1600,
"height": 900,
"filename": "anime.png",
"storename": "FWzobx3PcRhGEJ7.png",
"size": 1441300,
"path": "/2020/09/16/FWzobx3PcRhGEJ7.png",
"hash": "AH8BbaWrcwZEPROqpFkC56h1mu",
"url": "https://i.loli.net/2020/09/16/FWzobx3PcRhGEJ7.png",
"delete": "https://sm.ms/delete/AH8BbaWrcwZEPROqpFkC56h1mu",
"page": "https://sm.ms/image/FWzobx3PcRhGEJ7"
},
"RequestId": "DB695918-3624-4026-AE82-2AE70B630708"
}
温馨提示
如果你只想输出url链接,请将代码中的print(json.dumps(res, indent=4))改为print(res['data']['url'])
引用参考
sm.ms图床api文档完整版python实现:python-sm.ms-api
【python】调用sm.ms图床api接口,实现上传图片并返回url的更多相关文章
- Excel催化剂开源第34波-SM.MS图床API调用(用POST上传multipart/form-data内容)
日常做网抓数据,都是以GET请求为主,偶尔遇到需要POST请求的,一般POST的参数只是一串字符串就可以了,通过构造字符串也很容易完成,但此次SM.MS的API接口要求是Content-Type: m ...
- Typora + picgo + sm.ms 图床设置笔记
Typora + picgo + sm.ms 图床设置笔记 编辑于2020-03-26 本文部分内容在作者教程的基础上进行了二次编辑,如有重复,纯属必然 在此感谢大佬们的无私付出与分享 之前 用了 g ...
- 用Python实现一个Picgo图床工具
PyPicGo PyPicGo 是一款图床工具,是PicGo是Python版实现,并支持各种插件自定义插件,目前PyPicGo自带了gitee.github.SM.MS和七牛云图传,以及rename. ...
- python调用腾讯云短信接口
目录 python调用腾讯云短信接口 账号注册 python中封装腾讯云短信接口 python调用腾讯云短信接口 账号注册 去腾讯云官网注册一个腾讯云账号,通过实名认证 然后开通短信服务,创建短信应用 ...
- 后端API接口的错误信息返回规范
前言 最近我司要制定开发规范.在讨论接口返回的时候,后端的同事询问我们前端,错误信息的返回,前端有什么意见? 所以做了一些调研给到后端的同事做参考. 错误信息返回 在使用API时无可避免地会因为各种情 ...
- 发现一个微博图床API和图片上传代码
网上寻到一款微博图床的插件,然后顺藤摸瓜找到了原作者的API代码. API文件: <?php /** * 上传图片到微博图床 * @author Youngxj & mengkun &a ...
- Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回
前言 现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式, 这样我们需要封装一个统一通用全局 模版api ...
- 关于使用阿里OSS服务搭建图床和使用PicGO上传图片到图床
最近喜欢上了使用markdown来写博客,可是markdown的图片却是本地的,如果我要发博客,那么又要重复截图了.于是干脆弄了个图床,本地截图的时候上传到图床,markdown中的代码结果也是图床里 ...
- Python Tornado搭建高并发Restful API接口服务
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...
随机推荐
- 初 识 eric4
下图展示了,如何使用eric4 新建工程,创建窗体,编译工程,运行工程这几个过程
- 数据 恢复----判断Raid盘序及校验方向
重组Raid(如何判断校验方向及盘序) 1. 常规左异结构[backward parity(反向奇偶校验--(静态))] 校验块:校验块从最后一块物理盘开始写起,然后依次往前面的盘中写入,当写到第一块 ...
- CSS动画实例:升空的气球
1.制作一个气球 设页面中有<div class="balloon"></div>,为. balloon设置样式规则如下: .balloon { heigh ...
- 关于haar特征的理解及使用(java实现)
Haar特征原理综述Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征.它分为三类:边缘特征.线性特征.中心特征和对角线特征.如下所示: Haar-like矩形特征拓展 Lienha ...
- Today At AntDock 2020年8月21日
前段时间,我在 Mac 上使用 CLion 进行 C++ 编译,但发现 #include<bits/stdc++.h> 居然出了问题,无法使用,Xcode 也不行.我试图查找资料,但一般都 ...
- DevOps系列(2)-SonarQube之PostgreSQL
上一篇从整体上讲了下DevOps大概涉及到了哪些内容,以及主要工作流程,接下来我们将分步详细介绍各个部分的使用. 概览 首先从 SonarQube 开始说起,SonarQube 是一个可用于检测重复代 ...
- CODING DevOps 代码质量实战系列第二课: PHP 版
讲师介绍 杨周 CODING DevOps 架构师 CODING 布道师 连续创业者.DIY/Linux 玩家.知乎小 V,曾在创新工场.百度担任后端开发.十余年一线研发和带队经验,经历了 ToB.T ...
- 快速构建一个完整的Selenium框架
今天跟大家细讲如何构建一个完整的selenium框架,当你学会了这一篇你就也可以说自己会selenium自动化测试了. 1.新建项目,结构如图: 注意:整个项目除了最外层的是文件夹,其他的都是包(pa ...
- 递归 & 分治算法深度理解
首先简单阐述一下递归,分治算法,动态规划,贪心算法这几个东西的区别和联系,心里有个印象就好. 递归是一种编程技巧,一种解决问题的思维方式:分治算法和动态规划很大程度上是递归思想基础上的(虽然实现动态规 ...
- Python 爬虫+tkinter界面 实现历史天气查询
文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...