开发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):输出原始字符串(不带引号)

浙公网安备 33010602011771号