Curl的实用命令

curl主要用在平时快速验证站点联通性,验证接口的有效性。
这里记录一些常用参数,以备查。

curl的安装

进入 https://curl.haxx.se/download.html 按平台选
一般windows选Win64 - cygwin binary

实用命令

通过-o/-O选项保存到指定文件

  • -o:将文件保存为命令行中指定的文件名的文件中
  • -O:使用URL中默认的文件名保存文件到本地

-O, --remote-name Write output to a file named as the remote file

同样可以使用转向字符”>”对输出进行转向输出

这个参数替代wget的功能

使用重定向

curl -L http://www.google.com

示显http头信息

  • 仅显示头信息:curl -I http://www.google.com
  • 显示头信息和http体:curl -i http://www.google.com

设置代理

x 选项可以为CURL添加代理功能
-x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port

比如:

1
2
curl -x http://127.0.0.1:1080 www.google.com
curl -x socksh://127.0.0.1:1080 www.google.com

传递参数

可通过-X来指定方法。
-X, --request COMMAND Specify request command to use

POST示例

  • -d来指定参数据
  • --data-urlencode来指定未编码的参数
1
curl -X POST -d --data "param1=value1&param2=value" https://api.github.com

-H可以来指定http请求头

1
-H, --header LINE   Pass custom header LINE to server (H)

比如post一段json数据,要指定头,可以用加上-H "Content-Type: application/json"

断点续传

通过使用-C选项可对大文件使用断点续传功能,如:

1
2
3
4
5
6
7
# 当文件在下载完成之前结束该进程
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
############## 20.1%

# 通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html
############### 21.1%

忽略证书错误

1
curl -k https://www.example.com

显示详细信息

可以把https握手及http头的详细信息打印出来

1
2
3
4
5
6
curl -v https://www.baidu.com
```

## 设置User-Agent信息

使用参数`-A`,如:

curl -A Googlebot https//www.baidu.com

1
2

## 显示请求过程中的时间线

curl -s -w %{time_namelookup}+%{time_connect}+%{time_starttransfer}=>%{time_total} https://www.163.com
`

最后,更详细的使用curl --help里面的说明

参考