Linux没有curl和wget怎么发送http请求?

博主:VPSGUO测评VPSGUO测评 前天 9185

在Linux中,Bash脚本提供了非常强大的能力,借助TCP套接字功能,可以直接向服务器发送HTTP请求,而无需curlwget

发送GET请求

以下脚本使用Bash和TCP套接字直接发送GET请求。脚本创建与目标服务器的TCP连接,构建HTTP请求,并输出响应结果。

#!/bin/bash

# 打开一个 TCP 连接到 postman-echo.com 的 80 端口,并将其分配给文件描述符 3
exec 3<>/dev/tcp/postman-echo.com/80

# 构建带有查询参数的GET请求
echo -ne "GET /get?param1=value1&param2=value2 HTTP/1.1\r\nHost: postman-echo.com\r\nConnection: close\r\n\r\n" >&3

# 从文件描述符 3 读取响应并输出到标准输出
cat <&3

# 关闭文件描述符 3
exec 3<&-

该脚本通过TCP连接发送GET请求并获取响应结果,模拟了类似curl的GET请求操作。

效果预览

当运行上面的脚本时,返回结果会类似于:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 453
Connection: close
...
{
  "args": {
    "param1": "value1",
    "param2": "value2"
  },
  ...
}

640.png

The End

文章版权声明:除非注明,否则均为VPSGUO测评原创文章,转载或复制请以超链接形式并注明出处。