shell 请求http get api,获取返回值
在Shell脚本中,你可以使用curl
或wget
来发送HTTP GET请求并获取返回值。
以下是使用curl
的示例:
#!/bin/bash # API URL无参数时: URL="http://example.com/api/data"
# API URL有参数时:
id=119
URL="http://example.com/api/data?id="+${id}
# 发送GET请求并存储响应 response=$(curl -s $URL) # 输出响应 echo $response
确保你的系统中安装了curl
。如果需要处理更复杂的HTTP请求(例如带有headers的请求或需要认证),curl
提供了许多选项来满足这些需求。
如果你更喜欢使用wget
,可以这样做:
#!/bin/bash # API URL URL="http://example.com/api/data" # 使用wget发送请求并将输出保存到文件 filename=$(mktemp) wget -O $filename $URL # 读取文件并输出内容 response=$(cat $filename) echo $response # 清理临时文件 rm $filename
在这两个示例中,-s
(或--silent
)选项用于静默模式,这意味着curl
在执行时不会输出进度和错误信息。而wget
则将输出保存到一个临时文件中,然后从文件中读取内容。