how to use cURL with a variable in the URL string All In One

发布时间 2023-04-16 01:08:18作者: xgqfrms

how to use cURL with a variable in the URL string All In One

如何在 cURLURL 字符串中使用变量

系统变量
环境变量
shell 变量

errors

$ curl 'https://oapi.dingtalk.com/robot/send?access_token=${DD_ROBOT_TOKEN}'' \
  -H 'Content-Type: application/json' \
  -d '
  {
    "msgtype": "text",
    "text": {
      "content": "测试:钉钉群机器人 / 自定义消息机器人?\n 树莓派开机自动发送 IP 地址消息:\n ???"
    }
  }'
# {"errcode":300001,"errmsg":"错误描述: robot 不存在;解决方案:请确认 token 是否正确;"} ❌

image

solutions

$ curl "https://oapi.dingtalk.com/robot/send?access_token=${DD_ROBOT_TOKEN}" \
  -H 'Content-Type: application/json' \
  -d '
  {
    "msgtype": "text",
    "text": {
      "content": "测试:钉钉群机器人 / 自定义消息机器人?\n 树莓派开机自动发送 IP 地址消息:\n ???"
    }
  }'
# {"errcode":0,"errmsg":"ok"} ✅

image

#!/bin/sh

# 设置 set
set -eux

# 设置 env
LANGUAGE="zh-CN"
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4343.0 Safari/537.36"

SH_DATE=$(TZ=':Asia/Shanghai' date '+%Y-%m-%d %T');
# 打印参数
echo "✅ SH_DATE = ${SH_DATE}"


# github env {REPORT_DATE, WEBHOOK_KEY}
echo "✅REPORT_DATE = ${REPORT_DATE}"
echo "✅WEBHOOK_KEY = ${WEBHOOK_KEY}"

# 读书会机器人?️ features:
# 1. 大大简化进入打卡的流程,跳过 3s 首页的推荐;
# 2. 每天早晚两次打卡提醒(08:00 和 20:00) ⏰,降低忘记打卡的风险;

MARKDOWN='
{
    "msgtype": "markdown",
    "markdown": {
        "content": "⏰ '$SH_DATE'\n\n?<font color=\"warning\">读书会快捷链接</font>\n\n?[<font color=\"info\">阅读打卡链接</font>](https://library.xgqfrms.xyz/#/club/share)\n\n??‍?[<font color=\"info\">我的链接</font>](https://library.xgqfrms.xyz/#/my)\n\n?[<font color=\"info\">积分链接</font>](https://library.xgqfrms.xyz/#/mall)\n\n<font color=\"warning\">读书会机器人?️ features:</font>\n\n<font color=\"comment\">1. 大大简化进入打卡的流程,跳过 3s 首页的推荐;</font>\n\n<font color=\"comment\">2. 每天早晚两次打卡提醒(08:00 和 20:00) ⏰,降低忘记打卡的风险;</font>\n\n",
        "mentioned_list":["凌晨"],
    }
}'


# 只有双引号中才可以包含变量,单引号不可以包含变量
curl "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}" \
  -H 'Content-Type: application/json' \
  -H "Accept-Language: $LANGUAGE" \
  -H "User-Agent: $UA" \
  -d "$MARKDOWN"
 

https://github.com/xgqfrms/wx-robot-notice/blob/main/src/robot.sh#L64

shell env

# 绝对路径
#!/bin/sh
#!/usr/bin/env sh

# 相对路径
#!/usr/bin/env shell
#!/usr/bin/env bash
#!/usr/bin/env zsh

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs

https://www.cnblogs.com/xgqfrms/tag/cURL/

https://www.cnblogs.com/xgqfrms/tag/curl to fetch/



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!