
サーバーがポート 5000 で稼働しています。 URLをcURLしてレスポンスを解析するには、bashスクリプトを作成する必要があります。ここでの問題は、サーバーがhttp
プロトコルhttps
で実行できることです。これはカールhttps://serverip:5000
またはhttp://serverip:5000
。
まず、http
リクエストを確認します。その要求が失敗した場合は確認しますhttps
。cURL
実行中のサーバーを自動的に検出したり、http
サーバーhttps
に要求したりする方法はありますか?
答え1
AFAIK、「curl」コマンドは、接続がSSLであることを確認する機能を提供しません。したがって、これを確認するにはさまざまなツールを使用する必要があります。
指定された接続がSSLであることを確認するために「openssl」を使用する小さなスクリプトを作成しました。楽しむ:
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Usage: testssl.sh <host> [port]"
exit 1;
fi
PROTO="http"
echo ^d | openssl s_client -connect ${1}:${2:-443} && PROTO="https"
curl ${PROTO}://${1}:${2:-443}