用于在bash中运行检查的OpenSSL脚本

时间:2014-04-07 13:28:32

标签: bash shell unix scripting openssl

我有以下命令。

openssl s_client -connect my.site.com:443

这是连接,所以我输入以下内容:

GET /ws/map/v1/search.wsdl HTTP/1.1
Host: my.site.com

这将从wsdl返回我正在寻找的xml。

然而,我发现很难将其编写为一项工作。

#!/bin/bash
echo 'openssl s_client -connect my.site.com:443'
echo 'GET /ws/map/v1/search.wsdl HTTP/1.1
Host: my.site.com'
while read x
do
  echo "$x"
done

在尝试将此命令发送到ssl控制台时,是否有一些我在这里缺少的内容,并将其读取到我可以使用的var?

非常感谢! 本

好的,现在我有脚本1,它有以下内容。

#!/bin/bash
openssl s_client -connect my.site.com:443

和脚本2

#!/bin/bash
echo 'GET /ws/map/v1/search.wsdl HTTP/1.1'
echo 'Host: my.site.com'
while read x
do
  echo "$x"
done

当我打字的时候     script1.sh | script2.sh

我得到:错误的解释器:路径名中的文件或目录不存在。

任何想法?

1 个答案:

答案 0 :(得分:4)

知道了!  :)

echo -e "GET /ws/map/v1/search.wsdl HTTP/1.1\nHost: my.site.com\n\n" | openssl s_client -connect my.site.com:443 -ign_eof

真的希望这有助于某些人前进。