如何使用 curl 命令从 bash 脚本获取 HTTP 响应?

PIp*_*ppo 5 linux bash curl http sh

我有以下从 shell 执行的命令:

curl -v -s -X GET -H "UserName: myUsername" -H "Password: myPassword" 
https://example.com
Run Code Online (Sandbox Code Playgroud)

从终端我有不同响应参数的 HTTP/1.1 200 响应:

HTTP/1.1 200 OK
Date: Fri, 23 Oct 2015 10:04:02 GMT
Name: myName
Age: myAge

...
Run Code Online (Sandbox Code Playgroud)

现在,在我的 .sh 文件中,我想取名字和年龄,所以在我的变量 $name 和 $age 中有值。我最初的想法是将 stdout 重定向到一个文件来解析:

curl -v -s -X GET -H "UserName: myUsername" -H "Password: myPassword"
https://example.com > out.txt
Run Code Online (Sandbox Code Playgroud)

但文件是空的。

通过 HTTP 响应增强 bash 脚本中变量的一些想法?

编辑:我想采用的变量在响应的标题中

谢谢

Ang*_*ere 5

您必须添加--write-out '%{http_code}'到命令行,curl 会将 HTTP_CODE 打印到标准输出。

例如curl --silent --show-error --head http://some.url.com --user user:passwd --write-out '%{http_code}'

但是我不知道您可以打印出的所有其他“变量”。