我想验证一个 URL 是否存在而无需下载。我在下面使用curl
:
if [[ $(curl ftp://ftp.somewhere.com/bigfile.gz) ]] 2>/dev/null;
then
echo "This page exists."
else
echo "This page does not exist."
fi
或使用wget
:
if [[ $(wget ftp://ftp.somewhere.com/bigfile.gz) -O-]] 2>/dev/null;
then
echo "This page exists."
else
echo "This page does not exist."
fi
如果 URL 不存在,这很有效。如果存在,它会下载该文件。就我而言,文件非常大,我不想下载它。我只想知道那个 URL 是否存在。
你很近。解决这个问题的正确方法是使用HEAD方法。
使用卷曲:
或使用 wget:
我认为,最好将
--spider
参数与wget
工具一起使用。它也适用于该工具的轻量级版本wget
(在 BusyBox 中)。例子:
尝试
curl --head
(HTTP FTP 文件)仅获取标头!