Script de shell para obter a resposta do servidor

0

Estamos testando nosso servidor.

Sou iniciante no shell de scripts.

Eu preciso de um script de shell bash, para ler um arquivo de texto com URLs, consultar cada URL para o servidor e verificar se o servidor de aplicativos retorna uma resposta 200 OK ou 302 Redirect .

Você pode me indicar algum tutorial ou link para fazer isso?

    
por user2434 28.02.2012 / 08:11

3 respostas

2

for name in 'cat textfile'; do curl -s -o /dev/null --write-out %{http_code} $name  2>&1 ; echo -e "\n"; done

a explicação:

for url in 'cat textfile'

Emita todas as entradas em seu arquivo de texto com o comando cat e disponibilize o ponteiro atual por meio da variável url .

curl -s -o /dev/null --write-out %{http_code} $url 2>&1

Chame cURL e suprima qualquer status de progresso com -s , escreva qualquer outra saída em /dev/null (é um buraco negro no qual você pode colocar qualquer coisa) com a opção -o , use --write out %{http_code} para fornecer o código de retorno para cada link que você fizer, coloque o link atual com $url e redirecione STDERR para STDOUT com 2>&1 (caso você receba algum erro). Então ...

; echo -e "\n"

Eco em uma nova linha, independentemente de a última declaração (esse bloco cURL inteiro) ter falhado.

'; done

Conclua o ciclo.

Isso provavelmente não é o que você queria, já que somente imprime os códigos de retorno.

    
por 28.02.2012 / 08:44
0

Use o comando wget com a opção --spider . No entanto, isso pode causar a solicitação HEAD em vez de GET, o que, dependendo da configuração do site, pode causar resultados incorretos. Outra alternativa é usar o curl .

    
por 28.02.2012 / 08:24
0

Follow-up para @qweet

Use o curl com o parâmetro de linha de comando -K, --config <config file> . Cada URL neste arquivo de configuração deve ser definido com o parâmetro url:

url="página / para / get"

    
por 28.02.2012 / 12:17