curl命令来自于英文词组”CommandLine URL“的缩写,其功能是用于在Shell终端界面中基于URL规则进行的文件传输工作。curl是一款综合的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等三十余种常见协议
语法格式:curl [参数] 网址
常用参数:
-o | 指定新的本地文件名 |
-O | 保留远程文件的原始名 |
-u | 通过服务端配置的用户名和密码授权访问 |
-I | 打印HTTP响应头信息 |
-u | 指定登录账户密码信息 |
-A | 设置用户代理标头信息 |
-b | 设置用户cookie信息 |
-C | 支持断点续传 |
-s | 静默模式,不输出任何信息 |
-T | 上传文件 |
参考实例
获取指定网站的网页源码:
[root@linuxcool ~]# curl https://linuxcommand.p2hp.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <meta charset="UTF-8" /> ………………省略部分输出信息………………
下载指定网站中的文件:
[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16.8M 100 16.8M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M
打印指定网站的HTTP响应头信息:
[root@linuxcool ~]# curl -I https://linuxcommand.p2hp.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 HTTP/2 200 server: Tengine content-type: text/html; charset=UTF-8 vary: Accept-Encoding date: Wed, 04 May 2022 06:44:26 GMT vary: Accept-Encoding x-powered-by: PHP/7.4.11 vary: Accept-Encoding, Cookie cache-control: max-age=3, must-revalidate ali-swift-global-savetime: 1651646666 via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257[403,414,200-0,M], kunlun 2.cn257[417,0] x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537 x-swift-savetime: Wed, 04 May 2022 06:44:26 GMT x-swift-cachetime: 3 timing-allow-origin: * eagleid: ab08f29616516466664417014e
下载指定文件服务器中的文件(用户名:linuxcool,密码:redhat):
[root@linuxprobe ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdf