支持 post+get 的基本网络服务器(使用curl和netcat)

支持 post+get 的基本网络服务器(使用curl和netcat)

很抱歉,如果问题的标题不清楚该问题的目标。

我能够仅使用 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/连接。

相关内容