| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | package utilimport ("bytes""github.com/json-iterator/go""io/ioutil""net/http""os""strings")// 企业微信(暂未使用)var json = jsoniter.ConfigCompatibleWithStandardLibrarytype 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)}
 |