Obtenha resultados das páginas PHP após o login [closed]

1

Eu tenho 10 arquivos php como

0.php, 1.php, 2.php etc

Todos esses arquivos contêm um formulário de autenticação que envia duas entradas de nome de usuário e senha para si próprio por correio.

Após o login, há uma mensagem exibida.

Estou tentando escrever um script que preencha o formulário de login de cada página e, em seguida, repita a mensagem de cada página em uma nova linha.

Eu sei que posso preencher o formulário usando wget ou curl, mas não tenho certeza de como.

Eu tentei com curl -u nome de usuário: senha /host/files/0.php mas parece que apenas exibe a saída html desse arquivo.

Estou pensando em escrever um script de shell que faz o seguinte:

pages = [0.php; 1.php; etc...]
foreach page in pages
        access page via curl or wget, fill in the form with username and password    which are the same for all files
        echo respons
        newline

Como posso conseguir isso?

    
por Adrian George 12.01.2015 / 20:18

1 resposta

1

O que você estava fazendo "-u nome de usuário: senha" é tanto quanto eu sei uma autenticação básica HTTP que é diferente de preencher um formulário e enviá-lo via POST. Isso deve funcionar:

#!/bin/bash
pages="0.php 1.php 2.php"

for page in ${pages}; do
  wget -q --post-data 'user=username&password=password' --save-cookies cookies "http://server/${page}"
  wget -O- --load-cookies cookies -p "http://server/${page}"
done
    
por Marcin Kaminski 12.01.2015 / 20:26