一連の漫画スキャンを1つのpdfファイルに変換できるプログラムを作成しようとしていますが、適切なURLがあるかどうかを判断するために画像をダウンロードする必要はありません。 Webページが存在するかどうかを確認するために使用できるシェルスクリプトコマンドはありますか?
* NIXでは、curl
を使用して単純なHEAD
リクエストを発行できます(HEAD
はページ本体ではなくヘッダーのみを要求します)。
curl --head http://myurl/
次に、HTTPステータスコード(200 OK、404 Not Foundなど)を含む最初の行のみを取得できます。
curl -s --head http://myurl/ | head -n 1
そして、適切な応答を得たかどうかを確認します(ステータスコードは200または3 **です):
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
ステータスコードが正常な場合は最初の行が出力され、そうでない場合は何も出力されません。また、/ dev/nullにパイプして出力を取得せず、$?
動作したかどうかを判断するには:
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1
[〜#〜] edit [〜#〜]-s
は、単にcurl
に「進行状況バー」を表示しないように指示します。
CURLを使用してステータスコードを取得し、必要な値を確認します。
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
まず、認証の問題がないことを確認します。認証が必要な場合は、ユーザー名とパスワードを入力します。シェルスクリプトファイル(checkURL.sh)を作成し、以下のコードを貼り付けます。
これがお役に立てば幸いです。
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
Nexusや他のリポジトリで私のために働いています。
常にwget
;を使用できます。私はコードが簡単なのでやります。
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
-O-
オプションをwget
と共に使用すると、ページのコンテンツを出力しようとしますが、それが存在する場合のみです。そのため、出力がない場合、ページは存在しません。 2>/dev/null
は、出力(ある場合)をゴミ箱に送信するためのものです。
期限が過ぎていることは知っていますが、これが役立つことを願っています。