为什么 wget 无法以 root 身份下载页面?

为什么 wget 无法以 root 身份下载页面?

这很奇怪,我尝试使用下载 html 文件wget

wget --user=xxx --password=yyy http://192.168.1.1/

当我以我自己的身份执行它时,它可以工作,当我以 root 身份执行它时,它会失败并显示消息:

Connecting to 192.168.1.1:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized

去哪里寻找差异?这是什么原因呢?看起来外部方可以知道我正在使用什么登录:-)。

url 是我的路由器地址,我需要定期获取其配置。

更新1: 作为记录:

sudo -u regular_user wget --user=xxx --password=yyy http://192.168.1.1/

从 root 帐户开始工作。

更新2:我没有$HOME/.wgetrc为任何用户设置,WGETRC也没有为任何用户设置。密码和登录名不包含除 7 位 ASCII 之外的任何内容。

更新3:wget.rc也没有。

更新4:wget 的输出(给 Álex Sáez 的回答):

Connecting to 192.168.1.1:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 401 Unauthorized
  Server: micro_httpd
  Cache-Control: no-cache
  Date: Sat, 01 Jan 2000 13:32:51 GMT
  WWW-Authenticate: Basic realm="U.S. Robotics ADSL Gateway"
  Content-Type: text/html
  Connection: close
Connecting to 192.168.1.1:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 Ok
  Server: micro_httpd
  Cache-Control: no-cache
  Date: Sat, 01 Jan 2000 13:32:51 GMT
  Content-Type: text/html
  Connection: close
Length: unspecified [text/html]
Saving to: ‘index.html’

答案1

尝试使用--ask-password--server-response参数。喜欢:

wget --server-response --user username --ask-password http://192.168.1.1

而且,我知道这与 root 无关,但请尝试引用密码。只是因为也许你有类似 hello#123 的内容。您可以使用反斜杠或“hello#123”键入它。

答案2

没有凭据,它就可以工作。您是超级用户还是普通用户并不重要。但是,当您输入 root 凭据时,很可能您输入的密码是错误的,或者您只是无权访问该页面

相关内容