Novo no Linux, estou tentando consultar a página de status do meu modem DG834G com o wget do meu Dockstar executando o debian. Não tenho certeza se faz alguma diferença, mas estou conectado ao Dockstar através do SSH a partir de uma caixa do Windows. A idéia é recuperar o IP da WAN (por favor, nenhuma resposta do DynDNS) de uma das páginas de administração do modem e eu fiz um script bash que se parece com:
user@debian:/tmp# vi dg834g.sh
#!/bin/sh
# Retrieve Netgear DG834G WAN IP address.
wget --http-user='<my_account>' --http-password='<my_password>' -O s_status.htm http://192.168.0.1/s_status.htm
myIP=$(sed -En '/IP Address/{n;s/<[^>]*>|[[:space:]]*//gp;q;}' < s_status.htm)
echo "=== $myIP ==="
rm s_status.htm
wget -qO /dev/null --user='<my_account>' --password='<my_password>' http://192.168.0.1/logout.htm
wget -qO /dev/null --user='<my_account>' --password='<dummy_pwd>' http://192.168.0.1/logout.htm
Se eu apenas executar o script bash, não importa quantas vezes, recebo o seguinte:
user@debian:/tmp# ./dg834g.sh
--2011-09-26 14:23:10-- http://192.168.0.1/s_status.htm
Connecting to 192.168.0.1:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
**Unknown authentication scheme**.
**Authorization failed**.
0
rm: cannot remove 's_status.htm': No such file or directory
No entanto, se, apenas uma vez, eu me conectar às páginas de administração do modem da caixa do Windows, fazer logout completo das páginas de administração e, em seguida, executar o script bash, recebo:
user@debian:/tmp# ./dg834g.sh
--2011-09-26 14:28:46-- http://192.168.0.1/s_status.htm
Connecting to 192.168.0.1:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to 192.168.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/HTML]
Saving to: 's_status.htm'
[ <=> ] 5,033 --.-K/s in 0.02s
2011-09-26 15:28:47 (222 KB/s) - 's_status.htm' saved [5033]
=== 63.169.61.57 ===
user@debian:/tmp#
Não sei por que recebo pela primeira vez um "401 Unauthorized" (esperando pelo usuário e pelo pwd?), mas pelo menos estou conseguindo o que estava procurando, embora não de maneira satisfatória!
Como eu quero automatizar a recuperação do IP da WAN a cada poucos minutos e enviá-lo por FTP para algum site quando ele muda, eu não estou no meio da tarefa ...
Se puder ajudar, o Dockstar executa um servidor da Web que pode ser acessado pela Web, esteja a caixa do Windows ativada ou desativada (comportamento normal).
Alguém pode pensar em uma razão pela qual eu preciso primeiro fazer o login e sair com a caixa do Windows para fazer o bash fazer o que é suposto fazer e como remediar esse comportamento estranho?