0

SSL暗号化HTTPS接続を介してHTMLサイトを取得する1行のbashコマンドがあります。

echo "GET / HTTP/1.1\nHost: www.example.com\n\n" | openssl s_client -connect www.example.com:443 -quiet 2> /dev/null

サイトは読み込まれていますが、次のようなHTTPヘッダーがあります。

HTTP / 1.1 200 OK
日付:2013年2月1日金曜日13:15:59 GMT
サーバー:Apache / 2.2.20(Ubuntu)

そしてもっとこのように。と2> /dev/null私は間違ったSSL証明書などの出力を隠すことができます。curlは私がやりたいことをしていないので、別のスクリプトを取りたくありません。

4

2 に答える 2

1

接続ポートの背後で実行されるサービスからの直接かつプレーンな出力を提供する性質のため、これは不可能openssl s_clientです(SSLを使用してWebサーバーで/を取得したい質問からの私の例では443)。

telnetまた、HTTPプロトコルからのプレーンな出力を提供し、curlヘッダーなしでHTTPSを使用したHTMLサイトを表示しますが、Webサーバーへの自己記述コマンドは許可しません。

于 2013-02-01T15:50:30.517 に答える
0

expectedコマンドを使用して、opensslとの対話を行うことができます。うまくいくかどうかはわかりませんが、試してみる価値はあります。

于 2013-09-11T15:03:59.213 に答える