很抱歉,如果问题的标题不清楚该问题的目标。
我能够仅使用 Bash 制作一个仅响应的网络服务器;当它收到curl post请求时,无论输入什么,它都会返回结果。
发帖请求
curl -d '{"Name":"Lorem", "age":"34"}' -H "Content-Type: application/json" -X POST http://<ip>:8080/
服务器的脚本(server.sh)
#!/bin/bash
while true; do
echo -e "HTTP/1.1 200 OK\n\n<h1>Title</h1>$(date)" \
| nc -l -k -p 8080 -q 1;
nc -l -k -p 8080 -q 1 | cat - | grep -o '{...\+}';
done
在我第一次卷曲时,它HTTP/1.1 200 OK\n\n<h1>Title</h1>$(date)
正确返回,但不是nc -l -k -p 8080 -q 1 | cat - | grep -o '{...\+}';
,并且卷曲退出。
第二次使用curl时,它不返回HTTP/1.1 200 OK\n\n<h1>Title</h1>$(date)
,现在返回结果nc -l -k -p 8080 -q 1 | cat - | grep -o '{...\+}';
并且curl不退出。
这个想法是处理来自curl的输入(使用nc -l -k -p 8080 -q 1 | cat - | grep -o '{...\+}';
+ jq
),但也响应然后关闭curl/连接。