文章目录

  • 前言
  • 实现途径
  • 图床与外链
  • 七牛图床
  • 备案流程
    • 备案前的准备
    • 开始备案
    • 图床绑定域名
  • pushplus发图片的实现
  • 总结

前言

本文是之前总结 pushplus 使用的这篇文章 《借助第三方工具网站完成消息自动推送》 的后续,当时说使用pushplus的微信公众号渠道不允许直接发图片,但是可以将图片链接放到 image 标签中,这就要求我们必须要有一个图床,今天也是从这里开始。

实现途径

注意:请勿使用base64编码的方式把本地图片放到内容中,您可以将本地的图片上传到七牛云等云存储空间上来获取图片的外链地址。

这段内容来自pushplus官网,限制了直接发送图片的方法,并给出了使用图片外链的建议,实现代码非常简单,示例如下:

import requestsdef post_wechat_msg(token):url = 'http://www.pushplus.plus/send'new_json = {"token": token,"title": "图片示例","content": "content":"这是一张图片<br/><img src='http://www.pushplus.plus/doc/img/push.png' />","topic": "9caigroup"}result = requests.post(url, json=new_json)

代码量非常的少,想发别图片就直接修改img标签中的内容就可以了,问题是怎么获取我们图片的外链。

图床与外链

如果你没听说过这两个词说明你对建站、发文等了解的比较少,不过也没有关系,这两个词很好理解

图床:就是放置图片的床,可以理解为图片的仓库,里面存储了很多图片
外链:就是访问图床里图片的一个链接,可以通过一个网址读取到想要的图片

以上面代码中的例子来看,http://www.pushplus.plus/doc/img/push.png 就是图片的外链,图片push.png被放在 http://www.pushplus.plus/doc/img/ 这个“图床”下面。

如果没有自己创建网站或者跨平台转发博文的经历,可能不太理解图床有啥用,我举个例子试着说明一下,假如你在A平台发了一篇技术文章,在文章中需要一些图片来丰富文章内容,你可以把这些图片在A平台的文章中上传。同时你想在另一B平台上也同步这篇文章,此时把A平台上这篇文章完全复制过去是不行的,因为其中的图片是在A平台上传的,A平台作为这些图片的图床一般会给图片加防盗链,这些图片链接复制到B平台上是显示不出来的,这也是为什么之前的新浪博客图片加了防盗链以后,很多平台上的文章图片都挂了的原因。

现在有一种实现方式就是自己建一个图床,获取得到图片链接就是固定的,也可以限制可以在域名下显示,这样同一篇文章无论是A平台,还是B平台都引用自己图床里的图片,文章同步就方便了很多,但是因为建立自己的图床功能单一,没有cdn加速,维护成本较高,所以一般使用第三方的图床服务,我只用过七牛和Github这两个图床,不过Github有时不太稳定,有需求可以按自己的喜好来选择。

七牛图床

说起七牛我用的还比较早,大概在2017年左右就用过了,当时建了一个静态的小破站,需要引用一些图片资源,就了解到了图床与七牛,免费提供10个G的空间,同时可以获取外链,使用比较方便,图片更新有一套方便的API,已经过去5年了,我前两天使用之前的脚本更新时发现还能用,说明还是比较稳定的。

后来出了一个事情导致我放弃了七牛,转身选择了Github图床。这件事就是七牛的规则调整,曾经使用的外链全都过期,要求必须绑定备案过的域名才能使用,当时替换了文章中所有的图片链接,同时兴冲冲的买了一个域名,结果只有域名是不能备案的,必须还要买服务器,各种要求晕晕乎乎的一直没太弄懂,申请了几次的公安备案也因为资料不全未审核未通过,最后无奈放弃了。

1、测试域名有使用限制,在创建空间的时候自动分配,到期30天会自动回收,因此建议您绑定自己的已备案域名
2、根据工信部的有关规定,国内接入cdn服务,域名必须要完成备案

这个是七牛官方给出的解释,起初我认为想要达到这个要求完全不用每个使用者绑定自己的域名,其实这些要求无非就是想让cdn使用者对自己上传和分享的资源负责,禁止传播非法内容,这个要求本身是好的,绑定了自己备案的域名如果出现非法内容,可以立马找到使用者,可是不仅仅只有绑定自己域名这一条实现方式。

要求七牛给每个使用者分配一个1级域名不太现实,但是可以做成主域名备案,然后给每个使用者分配二级、甚至三级域名,其实这就是一开始提供的测试域名,使用这些域名分享资源的用户要求必须在平台实名,这样再出现非法内容的时候可以定位到个人,也能达到监管的目的,可是为啥平台放弃了测试域名的长期使用,反而要求每个使用者绑定自己域名呢?

最近和七牛的工程师反复沟通了解到,其实分配给用户的测试域名是合规的,因为它的主域名肯定完成了备案,但是因为有些用户违规使用,这就对这个主域名造成了影响,一些产品可以和社交软件因为该域名分享的图片资源出现过非法内容,可能对这个域名的资源自动屏蔽,这就对正常用户的使用造成了影响,这也是一个平台发展壮大之后必须面临的问题,林子大了什么鸟都有。

所以七牛把原来提供的域名被定义为测试域名,给30天的使用期限,仅用于调通功能流程,到期自动回收,即使被一些平台限制了也没什么关系,只要确定后续要继续使用,绑定自己的域名就行了,违规使用的用户的不会影响到其他人。

所以我觉的这件事挺无奈的,如果可以一直使用测试域名,对于使用者无疑是很方便的,对于平台方也降低了用户门槛,便于产品的推广,但是这些美好的愿望总因为一些“极个别人”无法实现了,我们只能接受现实,采用目前这种方案。

备案流程

因为最近想要在发送通知消息中增加图片,所以不得不再次使用图床了,你问我为啥不用Github的图床,那是因为微信把它给屏蔽用不了了(捂脸),所以我不得不把目光又转回七牛,经过不懈努力,终于把绑定域名的事情搞定了,记录一下,希望能帮助到有同样需求的人。

备案前的准备

  • 购买一个域名
  • 购买一台云服务器
  • 搭建好个人网站
  • 身份证正反照片
  • 手持身份证的照片

开始备案

购买域名推荐阿里云和腾讯云,因为后续备案的流程会有通知提醒,可以免去很多查找资料的麻烦,两个平台我都买过域名,但是只在腾讯云上完成过备案,所有后续的流程也是以腾讯云备案为基础的。

购买域名需要先实名,腾讯云上购买之前需要先提交实名模板,审核通过后才能买域名,域名的购买和网上购物没啥区别,挑选自己喜欢的加到购物车,然后付款就可以了,购买成功后会有站内信提醒,通知后续的备案流程,这也是比较方便的地方。

买完域名要买服务器,其实备案不仅仅是对一个域名的备案,而是对这个域名提供的服务内容进行备案,而要提供内容和服务就需要有一台带有外网IP的服务器,然后将域名和服务器进行绑定,统一写到备案内容中,这样你提供的服务和提供服务的这个域名就登记在册了。

腾讯云买服务器同样跟买菜一样,如果只是为了备案,买一台最低配的就可以了,然后再上面搭建一个简易网站,就可以后续的备案流程了,备案的第一步叫管局备案,也叫工信部备案,也是我们常听说的ICP备案。

在提交备案资料后,腾讯云会先进行审核,其中要注意规避游戏内容,提及游戏的网站很容易被退回,不同地区的管局对网站内容要求不一样,比如北京地区现在不允许提交个人博客类网站了,这个再提交前先看一下不同地区的限制,手机号和紧急电话必须时刻保持畅通,提交资料后3-4天会有电话确认,按要求修改好审核通过后就会被提交到管局审核。

提交管局审核之前,要关停域名解析,在审核通过前不允许域名到服务器的解析,提交之后提示20个工作日会收到结果,马上会收到一条短信验证通知,按要求回复后只要等着就可以了,我是在第7天收到的审核通过的通知,速度还是比较快的。

当ICP备案成功后会得到一个 【京/冀/沪 ICP 备 xxxxxxx 号 - 1】的网站身份证,之后腾讯云站内信会通知在30个工作日内完成公安备案,这是不同于ICP备案的另一种备案流程,这一步要求的内容会比较多,不过好在大平台这些基础信息都是提供好的,目前已经按照流程提交了申请,正在等待审核中,希望不要再出什么差错。


后续报道:不出意外的话果然出意外了,备案审核不过,理由是不用备案,不知道是应该开心还是难过,应该没啥事了,能用就行~


图床绑定域名

这一步在完成ICP备案通过之后就可以进行了,参考 官方文档 - 如何配置域名的 CNAME 操作就可以了,注意二级域名的命名和使用,步骤并不复杂,我因为拼写错误还耽误了一些时间,绑定成功之后就可以愉快的使用了。

pushplus发图片的实现

  • 申请一个七牛图床账号
  • 将图片上传到七牛平台
  • 复制图片的外链
    • 临时使用可以使用测试域名
    • 长期使用需要绑定备案域名
      • 实名购买一个域名
      • 购买云服务器,搭建一个网站
      • 提交资料,完成ICP备案
      • 在七牛绑定备案好的域名
  • 编写发送图片的代码,在img标签中引用图床中图片的外链

总结

  • 使用 pushplus 发送微信通知消息时可以使用img标签引用图床外链的方式发送包含图片的消息
  • 图床可以选择 pushplus 官方推荐的七牛,可以暂时使用测试域名来提供外链,想长久使用可以绑定自己已经备案的域名
  • 备案域名时需要先买一个域名和云服务器,推荐在阿里云和腾讯云上购买,大平台上购买后的续通知提醒和备案流程会非常顺畅
  • 对于非盈利性的网站备案需要有ICP备案和公安备案,ICP备案购买域名后平台会帮助进行,而公安备案中需要的信息平台方也会提供

==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==


神州归家,腾飞中华,眼中所见都是大事,逐渐接受自身的平庸,一个普普通通的人,想要过一段平凡的生活,在柴米油盐中慢慢步入黄昏~

自动推送消息时附带图片的一种实现方式相关推荐

  1. ios极光推送 App收到推送消息时,修改BadgeNumber,同时点击状态栏消息以后跳到指定的页面和静默推送

    极光推送生产环境测试需要打包为adhot或者用testflight 在收到远程推送的消息的时候,有以下三种情况需要考虑: 1. 程序在后台运行 2. 程序未运行 3. 程序运行在前台 原则上,应用在收 ...

  2. python自动推送消息_使用Python制作自动推送微信消息提醒的备忘录功能

    日常工作生活中,事情一多,就会忘记一些该做未做的事情.即使有时候把事情记录在了小本本上或者手机.电脑端备忘录上,也总会有查看不及时,导致错过的尴尬.如果有一款小工具,可以及时提醒,而不用再主动去查备忘 ...

  3. 配置 Hi提醒 让直播提醒机器人消息在主播开播自动推送消息到钉钉群

    今天我们来配置Hi提醒 实现指定主播开播时推送直播提醒消息到钉钉群 主要实现是创建好钉钉群机器人,然后推送信息时选择钉钉就行了. 该通道配置完成后可推送信息至你的钉钉群中,一次配置持久使用. 直接看操 ...

  4. iOS 当APP接收到推送消息时,对推送消息进行处理

    结合最近做的项目来总结一下,在我们接收到推送通知后我们将要怎么处理这条推送消息,也为以后再做相关推送的时候能够更快处理. 首先要说明两个概念:本地通知和远程推送.本地通知是由本地应用触发的,接收会比较 ...

  5. python自动推送消息_Python自动接收微信群消息并推送相应的公众号文章

    原标题:Python自动接收微信群消息并推送相应的公众号文章 封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 用书教师可以联系 ...

  6. python自动推送消息_用Python设计一个可以自动推送微信消息提醒的备忘录

    请关注微信公众号:金融数学 FinancialMathematics日常工作生活中,事情一多,就会忘记一些该做未做的事情.即使有时候把事情记录在了小本本上或者手机.电脑端备忘录上,也总会有查看不及时, ...

  7. python 实现QQ自动推送消息

    1.下载酷Q,酷Q官网我下载不了,所以我去百度下了一个. 2.安装插件  CoolQ HTTP API 参照CoolQ HTTP API 插件对酷Q进行配置 然后我们就可以通过酷Q api接口对QQ进 ...

  8. Android之集成极光推送消息

    极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式: 通知 自定义消息 富媒体 本地通知 1.通知 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通 ...

  9. iOS 如何让APP 删除后不接受 APNS 推送消息

    首先简单说下iOS APNS: Apple 使用公共密钥数字证书对来自 iOS应用程序的推送请求进行身份验证,所以您首先需要创建身份验证密钥,并向 Apple注册它们.我将在下一节中花相当长的篇幅来直 ...

最新文章

  1. SAP MM MIGO 551 可以直接报废供应商寄售库存
  2. mybatis中mysql ON DUPLICATE KEY UPDATE写法
  3. Spring Framework 5.1.6、5.0.13 与 4.3.23 发布
  4. MongoDB查询性能分析—— explain 操作返回结果详解
  5. 鸿蒙 OS 2.0 来了!值得开发者关注的是什么?
  6. Asp.net夜话之一:asp.net介绍
  7. git SSL certificate problem: unable to get local issuer certificate
  8. PHP 判断字符的编码 并输出想要的编码格式字符 (转)
  9. A.01.03-模块的输入—模拟量输入
  10. 【Mac】nsurlsessiond 后台下载问题的解决方法
  11. linux变utf8为sjis命令,在派上编译Linux版Onscripter-jh时出现问题
  12. 【Axure原型分享】短视频APP原型模板
  13. java读取zip文件损坏_java zip压缩文件损坏
  14. SolidWorks2008破解版及安装方法
  15. 如何选择合适的地图注记手段
  16. 常用八大数据结构总结及应用场景-附示例截图
  17. 2018阿里巴巴全球诸神之战创客大赛总决赛即将举行
  18. 大规模优化方法(一)
  19. Geant4能谱展宽【Gaussian Broadning】-root作图
  20. 3b1b视频《奥数级别的数数问题》笔记

热门文章

  1. python使用谷歌浏览器打开网页截取全图
  2. pymol 知道多少?pymol技巧汇总
  3. 带通 带阻滤波器 幅频响应_微波介质陶瓷滤波器简介
  4. Redis - LRU
  5. JS/AS(Flash)通信失效的可能原因
  6. 前端导出数据,file-saver 插件
  7. 大学生创业交流会计算机二级,我校举行第七届中国国际“互联网+”大学生创新创业大赛交流研讨会...
  8. 数据模型治理最佳实践参考(淘系)
  9. GSP-广义第二计费
  10. Phoenix查询报错,字段找不到。Error: ERROR 504 (42703): Undefined column. columnName=(state=42703,code=504)