wget命令在linux中工作但不在windows中工作

时间:2014-06-12 11:07:24

标签: linux windows wget

我正在尝试使用wget命令控制IP电源开关9258。使用ubuntu机器的wget,我可以开启和关闭IP Switch。

但如果我在Windows中使用相同的命令(GNU Wget 1.11版本),我无法打开或关闭ip电源开关(IP 9258)

"wget http://admin:12345678\@192.168.0.49/Set.cmd?CMD=SetPower+P62=0;"


 D:\GIT\fence_ip9258>wget http://admin:12345678\@192.168.1.41/Set.cmd?CMD=SetPowe
r+P63=0
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files\GnuWin32/etc/wgetrc
--2014-06-12 19:12:59--  http://admin:*password*@192.168.1.41/Set.cmd?CMD=SetPow
er+P63=0
Connecting to 192.168.1.41:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to 192.168.1.41:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

只是想了解这里发生的事情,提前感谢您对理解问题的洞察力

此致 哈

2 个答案:

答案 0 :(得分:2)

问题可能在于逃避'@'字符。 在linux shell中,任何角色都可以被转义,包括不需要擒纵的角色。例如,“echo \ @”和“echo @”产生相同的结果:'@'。 在Windows shell中,“echo @”产生“@”,但“echo \ @”产生“\ @”。 只需删除该反斜杠。

答案 1 :(得分:0)

问题是@之前的反斜杠。

D:\GIT\fence_ip9258>wget http://admin:12345678@192.168.1.41/Set.cmd?CMD=SetPower
+P63=1
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files\GnuWin32/etc/wgetrc
--2014-06-12 19:14:47--  http://admin:*password*@192.168.1.41/Set.cmd?CMD=SetPow
er+P63=1
Connecting to 192.168.1.41:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to 192.168.1.41:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified
Saving to: `Set.cmd@CMD=SetPower+P63=1'

    [ <=>                                   ] 58           311B/s   in 0.2s

2014-06-12 19:14:48 (311 B/s) - `Set.cmd@CMD=SetPower+P63=1' saved [58]