我正在尝试下载文件hpraid.tar.gz从远程服务器使用
wget --no-check-certificate http://xx.xx.xx/hpraid.tar
curl -O http://xx.xx.xx/hpraid.tar
尽管.gz文件名部分省略了扩展名,但双方都下载了该文件获取和卷曲 这个没有任何通配符的部分文件名匹配让我感到困惑。
有什么办法可以强制我获取和卷曲匹配完整的文件名?
答案1
您可以使用curl -v telnet://xx.xx.xx:80/
并测试该服务器是否是扩展hpraid.tar
到hpraid.tar.gz
.
例子
下面说明了我们如何curl
交互使用。这里我们直接从服务器请求以下 URL GET /
。
$ curl -svLI telnet://www.google.com:80/ <<< "GET /" | head -5
* Trying 74.125.141.99...
* Connected to www.google.com (74.125.141.99) port 80 (#0)
HTTP/1.0 200 OK
Date: Mon, 09 Jul 2018 19:39:10 GMT
Expires: -1
笔记:从上面我们可以看到,我们GET /
向 Google 发送了一条消息,它回复了 STATUS 200。
你的问题
要验证服务器是否正在添加文件扩展名,.gz
您可以执行以下操作来自行验证:
$ curl -v telnet://xx.xx.xx.xx/hbraid.tar <<< "GET /"
如果您看到文件正在下载,那么您就知道服务器正在执行附加操作。如果失败,那么您就知道是客户端在执行此操作(curl
或wget
)。
手动?
如果您遇到上述任何问题,您可以手动执行此操作,如下所示:
curl
服务器的 HTTP 端口$ curl -svLI telnet://www.google.com:80/ * Trying 74.125.141.99... * Connected to www.google.com (74.125.141.99) port 80 (#0)
获取网址
GET / <--- hit Return after this 2 times!
目视验证下载
附加工具
您也可以使用socat
或做类似的事情。nc