Gostaria de verificar se existe um URL sem fazer o download. Estou usando abaixo com 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
ou usando 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
Isso funciona muito bem se a URL não existir. Se existir, ele baixa o arquivo. No meu caso, os arquivos são muito grandes e não quero baixar. Eu só quero saber se esse URL existe.
Você está perto. A maneira correta de abordar isso é usando o método HEAD .
Com cURL:
ou usando wget:
Eu acho que é melhor usar o
--spider
argumento com awget
ferramenta. Também funciona em versões leves dawget
ferramenta (no BusyBox).Exemplo:
Tente
curl --head
(HTTP FTP FILE) Busque apenas os cabeçalhos!