| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- package util
 
- import (
 
- "bytes"
 
- "github.com/json-iterator/go"
 
- "io/ioutil"
 
- "net/http"
 
- "os"
 
- "strings"
 
- )
 
- var json = jsoniter.ConfigCompatibleWithStandardLibrary
 
- type JSON struct {
 
- 	Access_token string `json:"access_token"`
 
- }
 
- type MESSAGES struct {
 
- 	Touser string `json:"touser"`
 
- 	Toparty string `json:"toparty"`
 
- 	Msgtype string `json:"msgtype"`
 
- 	Agentid int `json:"agentid"`
 
- 	Text struct {
 
- 		//Subject string `json:"subject"`
 
- 		Content string `json:"content"`
 
- 	} `json:"text"`
 
- 	Safe int `json:"safe"`
 
- }
 
- func Get_AccessToken(corpid,corpsecret string) string {
 
- 	gettoken_url := "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret
 
- 	//print(gettoken_url)
 
- 	client := &http.Client{}
 
- 	req, _ := client.Get(gettoken_url)
 
- 	defer req.Body.Close()
 
- 	body, _ := ioutil.ReadAll(req.Body)
 
- 	//fmt.Printf("\n%q",string(body))
 
- 	var json_str JSON
 
- 	json.Unmarshal([]byte(body), &json_str)
 
- 	//fmt.Printf("\n%q",json_str.Access_token)
 
- 	return json_str.Access_token
 
- }
 
- func Send_Message(access_token,msg string) {
 
- 	send_url := "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token
 
- 	//print(send_url)
 
- 	client := &http.Client{}
 
- 	req, _ := http.NewRequest("POST", send_url, bytes.NewBuffer([]byte(msg)))
 
- 	req.Header.Set("Content-Type", "application/json")
 
- 	req.Header.Set("charset","UTF-8")
 
- 	resp, err := client.Do(req)
 
- 	if err != nil {
 
- 		panic(err)
 
- 	}
 
- 	defer resp.Body.Close()
 
- 	//fmt.Println("response Status:", resp.Status)
 
- 	//body, _ := ioutil.ReadAll(resp.Body)
 
- 	//fmt.Println("response Body:", string(body))
 
- }
 
- func messages(touser string,toparty string,agentid int,content string) string{
 
- 	msg := MESSAGES{
 
- 		Touser: touser,
 
- 		Toparty: toparty,
 
- 		Msgtype: "text",
 
- 		Agentid: agentid,
 
- 		Safe: 0,
 
- 		Text: struct {
 
- 			//Subject string `json:"subject"`
 
- 			Content string `json:"content"`
 
- 		}{Content: content},
 
- 	}
 
- 	sed_msg, _ := json.Marshal(msg)
 
- 	//fmt.Printf("%s",string(sed_msg))
 
- 	return string(sed_msg)
 
- }
 
- func main1() {
 
- 	touser := "BigBoss"  //企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
 
- 	toparty := "2"       //企业号中的部门id。
 
- 	agentid:= 1000002    //企业号中的应用id。
 
- 	corpid := "xxxxxxxxxxxxxxxxx"  //企业号的标识
 
- 	corpsecret := "exxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  ///企业号中的应用的Secret
 
- 	accessToken := Get_AccessToken(corpid,corpsecret)
 
- 	content := os.Args[1]
 
- 	//  fmt.Println(content)
 
- 	// 序列化成json之后,\n会被转义,也就是变成了\\n,使用str替换,替换掉转义
 
- 	msg := strings.Replace(messages(touser,toparty,agentid,content),"\\\\","\\",-1)
 
- 	//  fmt.Println(strings.Replace(msg,"\\\\","\\",-1))
 
- 	Send_Message(accessToken,msg)
 
- }
 
 
  |