curl 命令的学习笔记
curl 官网:https://curl.haxx.se/
curl 全称 CommmandLine URL 或 CommandLine Uniform Resource Locator,是用于从服务器传输传输数据或向服务器传输数据的工具。它支持以下协议:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET或TFTP。该命令旨在无需用户交互即可工作。
curl 提供了大量有用的技巧,如代理支持、用户身份验证、FTP上传、HTTP发布、SSL连接、cookie、文件传输恢复等。
1. 常见用法:
1、curl url
作用:获取页面内容或接口响应
eg:
curl www.baidu.com
运行后,返回的是一个百度主页的HTML代码。
curl 的用法跟一般的linux/Unix 命令无异,一般语法如下。
crul -[选项] [URL]
2、curl -I url
作用:获取请求页面或接口的请求头信息
eg:
curl -I www.baidu,com
运行如下:
HTTP/1.0 403 Forbidden
Server: Lusca/LUSCA_HEAD-r14809
Date: Fri, 18 Mar 2022 05:29:55 GMT
Content-Type: text/html
Content-Length: 2617
X-Squid-Error: ERR_ACCESS_DENIED 0
X-Cache: MISS from HexinFirewall
Connection: close
3、curl -d “params” url
作用:使用-d发送带参数的请求(默认是Post方式提交)
curl -d "user=xiaoming&age=18" www.baidu.com
4、curl -X选项 url
-X选项,指定请求方式,我们可以有多种请求方式,最常见的是GET和POST,但请求的方式,包括GET、PUT、POST、DELETE四种方式。
这四种请求方式,对于在做RESTFUL接口开发和测试的人来说,非常方柏霓。curl 的用法如下:
curl -XGET www.baidu.com
curl -XPOST www.baidu.com
curl -XDELETE www.baidu.com
curl -XPUT www.baidu.com
5、curl -H Head_infos
作用:自定义Header 头信息
6、curl -L url
作用:跟踪连接url重定向,有些页面或接口被重定向,直接使用 curl url 会返回
7、curl -O url
作用:下载指定资源文件到当前目录中
8、curl -v url
-v 选项,–verbose,指定该选项后,可以跟踪URL的连接信息。可以根据这个选项看看curl是怎么工作的。
eg:
curl -v www.baidu.com
加上 -v 后返回的信息,包括很多重要信息:
- 域名解析过程:我们可以得到真正连接的IP地址和端口
- 请求头信息:其中有使用的协议(HTTP),协议的请求方式(GET)
- 回应头信息:包含状态码,内容格式(text/html),内容长度等。
9、curl -i url
-i 选项,–include,把回应的头信息包含在内,跟-v 大同小异,是-v的子集。
eg:
curl -i www.baidu.com
10、curl -I url
-I (大写i)选项,–head,只显示返回的头信息,与-v大同小异,是-v的子集。
11、curl -u msg url
-u 选项,带用户验证的连接,可以访问或获取带用户验证的URL
curl -u username:password www.baidu.com
curl -u username www.baidu.com
12、curl -h
curl -h命令是一条帮助命令,可以获取curl的使用大全。