简介:
- curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。
- curl支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
- curl还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
常见参数
参数 解释
-A/–user-agent 设置用户代理发送给服务器
-b/–cookie <name=string/file> cookie字符串或文件读取位置
-c/–cookie-jar 操作结束后把cookie写入到这个文件中
-C/–continue-at 断点续转
-D/–dump-header 把header信息写入到该文件中
-e/–referer 来源网址
-f/–fail 连接失败时不显示http错误
-o/–output 把输出写到该文件中
-O/–remote-name 把输出写到该文件中,保留远程文件的文件名
-r/–range 检索来自HTTP/1.1或FTP服务器字节范围
-s/–silent 静音模式。不输出任何东西
-T/–upload-file 上传文件
-u/–user <user[:password]> 设置服务器的用户和密码
-w/–write-out [format] 什么输出完成后
-x/–proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/–progress-bar 进度条显示当前的传送状态
- 查看网页源码
curl www.jd.com
<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
-
下载
-L
参数,HTTP 请求跟随服务器的重定向,就会跳转到新的网址-O
参数,将服务器回应保存成文件,并将 URL 的最后部分当作文件名。这就相当于使用wget命令了
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-linux-x86_64.tar.gz
- 增加头信息
curl --header "Content-Type:application/json" http://example.com
- 发送GET
curl -v http://baidu.com
- 发送POST
curl -XPOST localhost:20064/market-cloud/mpLogin -H 'Content-Type: application/json' -d '{"appId":"wx49de024db7b10212","jsCode":"k-wI0yvq6hZhYxfRO3Ph12QvDUQ5gxiZON1x0SVS2E4"}'
参考文章:
curl网站开发指南
curl 的用法指南
curl命令参数详解