在Linux/Unix中怎样使用curl下载文件?
时间:2019-11-20 08:53:22 来源:igfitidea点击:
如何在shell脚本中使用curl下载文件?
cURL既是命令行实用程序又是库。
可以使用它通过许多不同的协议(例如HTTP,HTTPS,FTP,SFTP等)来下载文件
使用curl下载单个文件
使用-O选项,不需要指定-o或--output选项,就可以下载文件。
保存在本地的文件名和服务器的一样。
例如:
curl -O https://www.theitroad.local/download/databak1902.tar
curl如何处理HTTP 301重定向文件
下载文件时,远程HTTP服务器可能返回的是其他状态码。
比如HTTP/301状态代码告诉客户端:到另外一个URL去获取文件。
在curl中,我们可以使用-L选项来处理重定向的问题。
curl -L -O http://www.theitroad.local/download/databak1902.tar
如何使用curl下载多个文件
类似如下命令:
curl -O url1 -O url2 curl -O https://www.theitroad.local/download/databak1902.tar \ -O https://www.theitroad.local/download/etc.tar.gz
如何使用curl下载受密码保护的文件
使用以下语法之一:
curl ftp://username:[email protected]:21/path/to/backup.tar.gz curl --ftp-ssl -u UserName:PassWord ftp://ftp1.theitroad.local:21/backups/07/07/2012/mysql.blog.sql.tar.gz curl https://username:[email protected]/file/path/data.tar.gz curl -u Username:Password https://server1.theitroad.local/file/path/data.tar.gz
curl设置代理服务器下载文件
语法如下:
curl -x proxy-server-ip:PORT -O url curl -x 'http://Hyman:[email protected]:3128' -v -O https://dl.theitroad.local/pdfdownloads/b8bf71be9da19d3feeee27a0a6960cb3/569b7f08/cms/631.pdf
使用curl下载文件
curl命令可以提供有用的信息,尤其是HTTP标头。因此,可以使用此类信息来调试服务器问题。让我们看一下curl命令的一些例子。传递-v以查看完整的请求发送和从Web服务器接收的响应。
curl -v url curl -o output.pdf -v https://www.theitroad.local/files/sticker/sticker_book.pdf
在不下载文件的情况下获取HTTP标头信息
另一个有用的选项是获取HTTP标头。所有HTTP服务器都具有命令HEAD,该命令用于获取文档的标头。例如,当您只想查看HTTP响应标头而不下载数据或实际文件时:
curl -I url curl -I https://www.theitroad.local/files/sticker/sticker_book.pdf -o output.pdf
使用curl时如何跳过SSL验证?
传递-k选项可以跳过SSL检查。
curl -k url curl -k https://www.theitroad.local/
curl如何限制下载速度?
使用--limit-rate选项可以限制curl传输文件的速度。默认是字节/秒。
curl --limit-rate {speed} url curl --limit-rate 200 https://www.theitroad.local/ curl --limit-rate 3m https://www.theitroad.local/
curl如何设置用户代理
通过-A选项来设置用户代理。
curl -A 'user agent name' url curl -A 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0' https://google.com/
使用CURL上传文件
curl不仅可以下载文件,还可以上传文件:
curl -F "var=@path/to/local/file.pdf" https://url/upload.php