cURL:デフォルトではhttpとhttpsを要求します。

cURL:デフォルトではhttpとhttpsを要求します。

サーバーがポート 5000 で稼働しています。 URLをcURLしてレスポンスを解析するには、bashスクリプトを作成する必要があります。ここでの問題は、サーバーがhttpプロトコルhttpsで実行できることです。これはカールhttps://serverip:5000またはhttp://serverip:5000

まず、httpリクエストを確認します。その要求が失敗した場合は確認しますhttpscURL実行中のサーバーを自動的に検出したり、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}

おすすめ記事