1

Новичок в Linux, я пытаюсь запросить страницу состояния моего модема DG834G с помощью wget из моего запущенного Debian Dockstar. Не уверен, что это имеет какое-то значение, но я подключен к Dockstar через SSH из коробки Windows. Идея состоит в том, чтобы получить WAN IP (пожалуйста, не отвечайте на DynDNS) со страницы администратора модема, и я создал скрипт bash, который выглядит следующим образом:

    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

Если я просто запускаю скрипт bash, независимо от того, сколько раз я получаю следующее:

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

Однако, если только один раз я подключаюсь к страницам администратора модема из окна Windows, полностью выхожу из страниц администратора и затем запускаю скрипт bash, я получаю:

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#

Я не уверен, почему я впервые получаю "401 Unauthorized" (ожидающий пользователя и pwd?) но, по крайней мере, я получаю то, что искал, хотя и не в удовлетворительной форме!

Поскольку я хочу автоматизировать получение IP-адреса WAN каждые несколько минут и передавать его по FTP на какой-либо сайт при его изменении, я не на полпути к выполнению задачи ...

Если это может помочь, Dockstar запускает веб-сервер, доступный из Интернета независимо от того, включен ли ящик Windows (нормальное поведение).

Кто-нибудь может придумать причину, по которой мне сначала нужно войти в систему и выйти из системы с помощью окна Windows, чтобы заставить bash делать то, что он должен делать, и как исправить это странное поведение?

0