我尝试通过 wget 连接到服务器:
wget http://<user>:<pass>@serveradress
Run Code Online (Sandbox Code Playgroud)
但是 wget 响应:无效端口
我知道服务器在端口 80 接受传入流量。我该如何解决这个问题?
Lek*_*eyn 274
Wget 解释<pass>@serveraddress为端口。要指定用户名和密码,请使用--user和--password开关:
wget --user user --password pass http://example.com/
Run Code Online (Sandbox Code Playgroud)
来自man wget:
--user=user
--password=password为 FTP 和 HTTP 文件检索指定用户名user和密码password。可以使用FTP 连接的and选项和 HTTP 连接的
--ftp-userand--ftp-password选项覆盖这些参数 。--http-user--http-password
Nab*_*imi 147
您在这里有 3 个选择。除了直觉之外,它们没有特定的顺序:
history)wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
Run Code Online (Sandbox Code Playgroud)
密码也将是可见的ps,top,htop和类似的。
wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
Run Code Online (Sandbox Code Playgroud)
请注意命令前的空格,它会阻止将其保存到您的历史记录中。
密码也将是可见的ps,top,htop和类似的。
wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Password for user `remote_user': [SECRET (not visible)]
Run Code Online (Sandbox Code Playgroud)
您还可以将用户名和密码存储在文件中~/.wgetrc
并更改该文件的权限,以便只有您的用户可以读取它:
文件~/.wgetrc:
user=john
password=SEcrEt
Run Code Online (Sandbox Code Playgroud)
... 进而
chmod 600 ~/.wgetrc
Run Code Online (Sandbox Code Playgroud)
但是请注意,该用户root仍然可以查看该文件并读取密码。
从联机帮助页:
为防止密码被看到,请使用
--use-askpass或 将它们存储在.wgetrc或 中.netrc,并确保使用"chmod". 如果密码真的很重要,也不要将它们留在这些文件中——编辑文件并在 Wget 开始下载后删除它们。