开发curl访问钉钉报警网页

1.python脚本,三个参数的(需要flask包)

from flask import Flask, request
import subprocess

app = Flask(__name__)

@app.route('/<arg1>/<arg2>/<arg3>')
def run_script(arg1, arg2, arg3):
    command = ["python3", "dingding.py", arg1, arg2, arg3]
    try:
        result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, check=True)
        return f"{result.stdout}"
    except subprocess.CalledProcessError as e:
        return f"Error running script: {e.stderr}", 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=22222)

  

 

2.1.python脚本,一个参数的,支持中文,中文必须url编码(需要flask包)

from flask import Flask, request, jsonify
import subprocess
import urllib.parse

app = Flask(__name__)

@app.route('/<arg1>')
def run_script(arg1):
    decoded_arg1 = urllib.parse.unquote(arg1)
    command = ["python3", "dingding.py", arg1]
    try:
        result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, check=True)
        return f"{result.stdout}"
    except subprocess.CalledProcessError as e:
        return f"Error running script: {e.stderr}", 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=10086)

  

 

3.使用

curl 127.0.0.1:10086/%E6%B5%8B%E8%AF%95

 

4.jq命令进行url编码

 echo -n "测试" | jq -sRr '@uri'

解析:
-s (--slurp):将整个输入作为单个字符串处理

-R (--raw-input):不解析输入为 JSON

-r (--raw-output):输出原始字符串(不带引号)

 

posted @ 2025-05-10 21:39  铿锵有力自信且坚定  阅读(17)  评论(0)    收藏  举报