一封传话聚合推送各语言demo代码示例前言查看一封传话的API文档的GET请求只需一行代码,在url上拼接head和body参数即可完成推送。这里针对body数据量较大的情况,给出各语言实现的demo
顺晟科技
2023-02-26 09:18:05
118
一封传话聚合推送各语言演示代码示例
查看一封传话的应用程序接口文档的得到请求只需一行代码,在全球资源定位器(统一资源定位器)上拼接头和身体参数即可完成推送。这里针对身体数据量较大的情况,给出各语言实现的演示代码。
小贴士:以下代码中的引发与应用程序接口文档中的派遣等价,触发器在派遣基础上做了高级特性增强处理,可以参考:一封传话聚合推送高级特性应用程序接口
任何使用者都可以随意选择调用任何一个API,在应用程序接口的使用方式上没有差异。
?服务器端编程语言(专业超文本预处理器的缩写)
//通道码/口令码
$ channel _ code=' 4d 2 DAC 865118761 a 14d 10d 7d 3 AFE 7c 35 '
$head='测试标题;
$body='测试内容;
$postdata=json_encode(
数组(
head'=$head,
body'=$body
)
);
$opts=array('http'=
数组(
方法='POST '
头'='内容类型:应用程序/json '
content'=$postdata
)
);
$ context=stream _ context _ create($ opts);
$ API _ URL=' https://www . phprm . com/services/push/trigger/'$渠道代码
$ result=file _ get _ contents($ API _ URL,false,$ context);
echo $ result如果你更倾向于使用卷曲库,完全可以自己实现或者参考以下开源的三方库里的卷曲代码。
如果希望使用专业推送库,可以参考此开源项目, 【一封传话】聚合推送软件开发工具包(软件开发工具包)已经提交到开源代码库和吉蒂,通过设计者可以直接安装SDK:
github:https://github . com/Guan guans/notifyGitee:https://gitee.com/guanguans/notify提供博客系统新注册用户、新评论提醒插件,可以参考插件源码或者直接在自己的网站使用:
wordpress软件软件插件:https://github . com/tea kong/WordPress-tixing或者https://gitee.com/teakong/wordpress-tixingTypecho插件:https://gitee . com/tea kong/WordPress-tixing或者https://gitee.com/teakong/TypechoTixing其他博客或网站插件:https://github . com/tea kong/柳岩-weixin或者https://gitee.com/teakong/liuyan-weixin
建议使用番石榴自带限流工具类,例如10秒告警一次防止大量请求消耗你自己的服务器,如果使用雷迪斯分布式限流更好,这里还用到了胡图尔工具包下的超文本传送协议(超文本传输协议的缩写)请求类。
胡图尔官网说明文档:https://hutool.cn/docs/#/
最新专家如下
属国
groupIdcn.hutool/groupId
artifactIdhutool-all/artifactId
版本5 .8 .11/版本
/依赖关系
Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)告警工具类演示:
导入com。阿里巴巴。fastjson 2。JSON对象;
导入com。谷歌。常见。util。并发。限速器;
导入Java。util。hashmap
导入Java。util。地图;
导入Java。util。并发。时间单位;
导入cn。胡工具。http。http请求;
导入cn。胡工具。http。httpresponse
/**
* Java系统告警工具类
*/
公共类系统
私人决赛静态速率限制器=速率限制器。创建(1d);
私有系统AlarmUtil() {
super();
}
公共静态字符串sendAlarmMessage(字符串标题,字符串消息){
尝试{
//计数每次消耗的令牌10个,那么每10秒才会通过一次超时超时等待的时间,等待超过一秒就拒绝发送
如果(!rateLimiter.tryAcquire(10,1,时间单位。秒)){
返回空
}
//创建json对象作为请求主体
JSON对象JSON对象=new JSON对象();
jsonObject.put('head 'title);
jsonObject.put('body 'message);
//添加请求头信息
MapString,String heads=new HashMap();
//使用json发送请求,下面的是必须的
heads.put('Content-Type '' application/JSON;charset=UTF-8 ');
HttpResponse响应=http请求。帖子(' https://www。phprm。com/services/push/trigger/4d 2 DAC 865118761 a 14d 10d 7d 3 AFE 7c 35’)。headerMap(heads,false).body(String.valueOf(jsonObject)).超时(5 * 1000)。执行();
System.out.println('告警推送结果:'响应。body());
返回回应。body();
}
接住(异常异常){
}
返回空
}
公共静态void main(String[] args) {
systemalarmutil。sendalarmmessage('系统故障告警' '故障模块:订单模块\n订单ID=xxxx\n订单金额: 100元\n故障原因:xxxx’);
}
}
由于Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)生态比较丰富,而且几乎所有人都有自己实现邮政请求的工具类,这么就不提供软件开发工具包(软件开发工具包)了。
Python语言环境使用演示:
#编码:utf-8
导入请求
导入json
# 通道码/口令码
channel _ code=' 4d 2 DAC 865118761 a 14d 10d 7d 3 AFE 7c 35 '
head='测试标题'
body='测试内容'
标题={
"内容类型":"应用程序/json "
}
URL=' https://www。phprm。'频道代码
data={'head'head,' body'body}
RES=请求。post(headers=头,url=url,data=json.dumps(data),timeout=10)
打印(JSON。转储(资源)
戈朗语言环境使用演示:
主包装
导入(
'字节'
'编码/json '
' fmt '
io/ioutil '
' net/http '
'不安全'
)
func SendMessage()错误{
频道代码:=' 4d 2 DAC 865118761 a 14 D10 D7 D3 AFE 7c 35 '
消息1:=make(map[string]interface { })
message1['head']='测试标题'
message1['body']='测试内容'
bytesData,err :=json .编组(消息1)
如果呃!=零{
fmt .Println(错误。错误() )
返回零
}
读取器:=字节NewReader(字节数据)
url :=fmt .sprintf(' https://www。phprm。com/services/push/send/% s '频道代码)
请求,err :=http .NewRequest('POST 'url,reader)
如果呃!=零{
fmt .Println(错误。错误())
返回零
}
请求100 .头。Set('Content-Type '' application/JSON;charset=UTF-8 ')
客户端:=http .客户端{}
resp,err :=客户端。做(请求)
如果呃!=零{
fmt .Println(错误。错误())
返回零
}
respBytes,err :=ioutil .全部读取(分别为.正文)
如果呃!=零{
fmt .Println(错误。错误())
返回零
}
str :=(*string)(不安全。指针(响应字节))
fmt .Println(*str)
返回零
}
func main() {
发送消息()
}
笔者暂未安装C#运行环境所以这里只提供得到请求,不过相信对C#熟悉的同学编写发布应用程序/json请求不是难事。
//获取请求
字符串URL=' https://www。phprm。com/services/push/send/4d 2 DAC 865118761 a 14d 10d 7d 3 AFE 7c 35?head='
属性UrlEncode('测试标题)
body='
属性UrlEncode('测试内容日期时间。现在);
var response=await httpClient .获取异步(URL);
字符串分辨率=等待响应内容。ReadAsStringAsync();
控制台WriteLine('推送状态:'响应状态码);
控制台WriteLine(RES);
敬请期待参考:
https://www.phprm.com/push/h5/
http://push.phprm.com/doc/#/p/demo
一封传话推送工具应用程序接口文档
一行代码实现微信消息推送
一封传话聚合推送高级特性应用程序接口