【Go】-调用企微机器人

没有什么好讲的,直接贴代码,消息格式我用的markdown。

sendMsg.go:

go 复制代码
package main

import (
	"flag"
	"fmt"
	"github.com/goccy/go-json"
	"github.com/tidwall/gjson"
	"io/ioutil"
	"net/http"
	"strings"
)

func main() {

	// params
	var msg string
	flag.StringVar(&msg, "msg", "null", "空消息")
	flag.Parse()
	type Params struct {
		Msgtype  string `json:"msgtype"`
		Markdown struct {
			Content string `json:"content"`
		} `json:"markdown"`
	}
	params := Params{
		Msgtype: "markdown",
		Markdown: struct {
			Content string `json:"content"`
		}{
			Content: msg,
		},
	}
	//fmt.Printf("%v\n", params)
	json_date, err := json.Marshal(&params)
	if err != nil {
		fmt.Sprintf("序列化失败:%s", err)
		fmt.Println()
	}
	//fmt.Printf("序列化后:%v\n", string(json_date))

	// POST
	var wx_send_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx"
	//fmt.Println(wx_send_url)
	response, err := http.Post(wx_send_url, "text/html;application/json", strings.NewReader(string(json_date)))
	if err != nil {
		fmt.Println(err)
	}

	// Get errcode
	body, err := ioutil.ReadAll(response.Body)
	defer response.Body.Close()
	errcode := gjson.Get(string(body), "errcode").String()
	if errcode != "0" {
		fmt.Println("fail")
		//fmt.Println(json.Unmarshal([]byte(str), &body))
	} else {
		fmt.Println("success")
	}
}

交叉编译参数的设置:

win 编译生成Linux下的可执行文件:

go 复制代码
go env -w CGO_ENABLED=0
go env -w GOOS=linux
go env -w GOARCH=amd64

编译完记得改回来:

go 复制代码
go env -w CGO_ENABLED=0
go env -w GOOS=windows
go env -w GOARCH=amd64
相关推荐
sweetheart7-740 分钟前
go/golang 入门学习笔记(Java/Python/C++转Go快速上手)
笔记·学习·golang·go语言
噗噗123 小时前
多实例并发管理:如何利用 Node.js 构建万级企微账号调度系统
企业微信
深念Y3 小时前
飞书桥接 Claude Code / Codex 踩坑实录:从部署、魔改到重装
机器人·飞书·远程·codex·工作·claudecode
八月瓜科技4 小时前
豆包启动付费会员测试,承诺基础服务永久免费,免费AI时代是否终结?
数据库·人工智能·科技·深度学习·机器人
Vect__5 小时前
C++无痛转go第一天,从hello world到切片
开发语言·c++·golang
A_QXBlms6 小时前
企微私域新客运营工具技术选型:从架构与性能看最优解
架构·企业微信
研究点啥好呢1 天前
字节跳动Go后端开发工程师面试题精选:10道高频考题+答案解析
面试·golang·php·求职招聘
地平线开发者1 天前
挑战杯“揭榜挂帅”|机器人领域·地平线赛题发布!共探智慧环卫清扫车新未来
人工智能·机器人
2601_957964871 天前
48V系统轻型巡检机器人锂电池完整设计方案要求(工业级智能巡检平台标准)【浩博电池】
人工智能·机器人
jerryinwuhan1 天前
人工智能工程技术(智能机器人应用)基于赛教融合的项目递进式课程体系
人工智能·机器人