我正在尝试使用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.
只是想了解这里发生的事情,提前感谢您对理解问题的洞察力
此致 哈
答案 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]