【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
相关推荐
皓月盈江4 小时前
GO使用Gin框架实现模板定义、解析与渲染
linux·golang·go·gin·定义模板·解析模板·渲染模板
利威尔xu5 小时前
万字详解|Go 进阶(五):sync 包底层:Mutex 自旋 4 次转饥饿,WaitGroup 漏 1 个 Done 挂起 3000 goroutine
后端·golang·并发编程·源码分析·sync
日日大王学编程6 小时前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
FungLeo7 小时前
成为全栈·Go 后端篇·Go 后端怎么测试:从成功响应到故障后置状态
golang·集成测试·差分测试·成为全栈·后端测试·数据库测试
Sw1zzle7 小时前
Go入门(零):Linux Ubuntu 22.04 安装 Go
linux·ubuntu·golang
tianxuanjg7 小时前
无人机科研轻量化结构件采购指南|高校实验室选型避坑:轻量化与结构强度如何兼顾
人工智能·经验分享·机器人·无人机·制造
码剑客8 小时前
Gin+GORM+Redis 项目开发常见性能坑汇总(Go后端避坑指南)
redis·后端·golang·gin
海盗12348 小时前
微软技术日报 2026-11-02:开发者环境服务退役、Defender 清点本地 AI 代理
人工智能·microsoft·机器人·人工智能aigc
m0_719640878 小时前
2026年高校科研用轮式双臂机器人二次开发平台怎么部署搭建
经验分享·机器人
品牌常新8 小时前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人