54 Star 356 Fork 128

feiyu563 / PrometheusAlert

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
huawei.go 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
package controllers
import (
"crypto/tls"
"encoding/base64"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
"io/ioutil"
"net/http"
"net/url"
"strings"
"time"
)
//华为云短信子程序
func PostHWmessage(Messages string,PhoneNumbers,logsign string)(string) {
open:=beego.AppConfig.String("open-hwdx")
if open=="0" {
logs.Info(logsign,"[hwmessage]","华为云短信接口未配置未开启状态,请先配置open-hwdx为1")
return "华为云短信接口未配置未开启状态,请先配置open-hwdx为1"
}
hwappkey:=beego.AppConfig.String("HWY_DX_APP_Key")
hwappsecret:=beego.AppConfig.String("HWY_DX_APP_Secret")
hwappurl:=beego.AppConfig.String("HWY_DX_APP_Url")
hwtplid:=beego.AppConfig.String("HWY_DX_Templateid")
hwsign:=beego.AppConfig.String("HWY_DX_Signature")
sender:=beego.AppConfig.String("HWY_DX_Sender")
//mobile格式:"15395105573,16619875573"
//生成header
now:=time.Now().Format("2006-01-02T15:04:05Z")
nonce := "7226249334"
digest := getSha256Code(nonce+now+hwappsecret)
//digestBase64:=base64.URLEncoding.EncodeToString([]byte(digest))
digestBase64:=base64.StdEncoding.EncodeToString([]byte(digest))
xheader:=`"UsernameToken Username="`+hwappkey+`",PasswordDigest="`+digestBase64+`",Nonce="`+nonce+`",Created="`+now+`"`
tr :=&http.Transport{
TLSClientConfig:&tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
req, _ := http.NewRequest("POST", hwappurl + "/sms/batchSendSms/v1", strings.NewReader(url.Values{"from":{sender},"to":{PhoneNumbers},"templateId":{hwtplid},"templateParas":{"["+Messages+"]"},"signature":{hwsign},"statusCallback":{""},"extend":{logsign}}.Encode()))
req.Header.Set("Authorization", `WSSE realm="SDP",profile="UsernameToken",type="Appkey"`)
req.Header.Set("X-WSSE", xheader)
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
resp, err := client.Do(req)
if err != nil {
logs.Error(logsign,"[hwmessage]",err.Error())
}
defer resp.Body.Close()
result,err:=ioutil.ReadAll(resp.Body)
if err != nil {
logs.Error(logsign,"[hwmessage]",err.Error())
}
logs.Info(logsign,"[hwmessage]",string(result))
return string(result)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/feiyu563/PrometheusAlert.git
git@gitee.com:feiyu563/PrometheusAlert.git
feiyu563
PrometheusAlert
PrometheusAlert
v2.3.2

搜索帮助

344bd9b3 5694891 D2dac590 5694891