Linux/Unix curl命令下载文件示例
时间:2020-01-09 14:16:11 来源:igfitidea点击:
如何在Linux/Mac OS X/BSD或类似Unix的操作系统下使用curl命令行下载文件?
GNU wget是一个免费实用程序,用于从Web非交互式下载文件。
curl是使用支持的协议之一(例如HTTP,HTTPS,FTP,FTPS,SCP,SFTP,TFTP,DICT,TELNET,LDAP或FILE)从服务器或向服务器传输数据的另一种工具。
该命令设计为无需用户干预即可工作。
curl提供许多功能,例如:
- 代理支持。
- 用户认证。
- FTP上传。
- HTTP发布。
- SSL连接。
- Cookie。
- 文件传输恢复等。
curl下载文件
语法如下,以从远程http/ftp服务器获取(下载)文件:
curl -o output.file http://server1.theitroad.local/file.tar.gz curl -O http://server1.theitroad.local/file.tar.gz curl --remote-name http://server1.theitroad.local/file.tar.gz
您可以下载网页并将其存储在本地文件中,如下所示:
curl -o theitroad.html https://www.theitroad.local/low.html
您可以按以下方式获取或下载多个文件:
curl -O http://www.theitroad.local/low.html -O http://bash.theitroad.local/dl/581.sh.zip
从SSH服务器curl下载文件
您可以使用SFTP从SSH服务器安全地抓取文件:
curl -u username sftp://server1.theitroad.local/path/to/file.txt ## ~ means your $HOME dir ## curl -u Hyman sftp://home1.theitroad.local/~/docs/resume.pdf
您可以使用专用密钥通过SCP使用SSH服务器从SSH服务器获取文件。
语法为:
curl -u username: --key ~/.ssh/id_rsa --pubkey ~/.ssh/id_rsa.pub scp://home1.theitroad.local/~/Videos/rhn_register.ogv
其中:
- -u用户名指定用于服务器身份验证的用户名(和可选密码)。
- -u用户名:密码指定用于服务器身份验证的用户名(和可选密码)。
key~/.ssh/id_rsa
SSL或SSH私钥文件名。允许您在此单独的文件中提供私钥。pubkey~/.ssh/id_rsa.pub
SSH公钥文件名。允许您在此单独的文件中提供公钥。- scp://home1.theitroad.local/~/Videos/rhn_register.ogv使用scp协议并从我的家庭服务器home1.theitroad.local下载文件。
curl:使用用户名和密码下载文件
使用ftp用户名和密码来抓取文件的语法如下:
curl ftp://username:[email protected]:21/path/to/backup.tar.gz
或者
curl -u UserName:PassWord ftp://ftp1.theitroad.local:21/backups/07/07/2012/mysql.blog.sql.tar.gz
安全的ftp用户(带ssl的ftp)可以将ftp-ssl选项传递给curl命令:
curl --ftp-ssl -u UserName:PassWord ftp://ftp1.theitroad.local:21/backups/07/07/2012/mysql.blog.sql.tar.gz
HTTP身份验证和使用curl下载文件
HTTP用户可以使用以下语法:
curl http://username:[email protected]/file/path/data.tar.gz
或者
curl -u Username:Password http://server1.theitroad.local/file/path/data.tar.gz