我曾尝试从 下载一个文件https://logz.io/sample-data
。
curl -O https://logz.io/sample-data
但是,它只是返回一个名为的空文件sample-data
。
相比之下curl
,wget
返回包含正确内容的文件效果很好。
wget https://logz.io/sample-data
我错过了什么curl
?
答案1
您错过了遵循重定向,curl
因为 URL 端点被重定向 (301) 到另一个端点 ( );使用 HEAD 方法 ( ) 向指定 URLhttps://s3.amazonaws.com/logzio-elk/apache-daily-access.log
发送请求:-I
% curl -LI https://logz.io/sample-data
HTTP/1.1 301 Moved Permanently
...
...
Location: https://s3.amazonaws.com/logzio-elk/apache-daily-access.log
...
HTTP/1.1 200 OK
...
...
Server: AmazonS3
由于curl
默认情况下不遵循 HTTP 重定向,因此您需要curl
使用-L
/--location
选项来执行此操作:
curl -LO https://logz.io/sample-data
默认情况下,重定向如下wget
,你将使用wget
原样。