curl 工具使用

title: curl 简单使用 id: 1cd7ce598f5f3d43126e71bbc680e6ad tags: [] date: 2000/01/01 00:00:00 updated: 2023/03/04 19:29:12 isPublic: true --#|[分隔]|#--

curl 简单使用

如果 vim 是终端中的编辑器,那 curl 就是终端中的浏览器(也可以下载),wget 就是终端中的下载器。

参考阮一峰的:curl 的用法指南

最简单使用

curl www.baidu.com

# 会将 www.baidu.com 的消息体,直接打印在此处

-i 响应头也显示

curl -i www.baidu.com

-I 只展示响应头

curl -I www.baidu.com

-o 保存到文件

curl -o 保存的文件路径 目标url

可与其他指令混用

# 把 www.baidu.com 获取到的消息体,保存到 baidu.html 这个文件
curl -o index.html www.baidu.com

# 可以来下载图片或其他文件
curl -o img.jpg https://n.sinaimg.cn/spider2020527/752/w681h871/20200527/0d2b-iufmpmn0320156.jpg

# 把带有头部信息的返回,保存到文件
curl -i -o index.html www.baidu.com

-O 保存成文件,前提是 url 是文件名为结尾

url 必须以文件名为结尾,才能执行,否则报错

-H 添加请求头

-v 显示完整的通信过程

用法同 -i,添加指定即可

-A 用户代理标头,即 User-Agent

指定客户端的用户代理标头,curl 的默认用户代理字符串是curl/[version]

-L 跟随重定向

curl 默认不跟随重定向:

为了能跟随重定向:

-X 指定 HTTP 请求的方法 post get 等

-d 发送 POST 请求的数据体

使用 -d 参数以后,HTTP 请求会自动加上标头 Content-Type: application/x-www-form-urlencoded,并且会自动将请求转为 POST 方法,因此可以省略 -X POST。

如果想使用 -d 给 get 请求配置参数,则需要 -G 参数。

--data-urlencode 等同 -d,但会自动将发送的数据进行 URL 编码

-G 与 -d 配合,配置 get 请求的数据体

如果是 get 请求,添加参数时,只能也使用 -d 指令,curl 不支持在请求地址是直接添加 query 参数。

但如果直接使用 -d,那这个请求强制转为 post 请求,如果想使用 -d 来为 get 请求参数配置参数,需要添加 -G。

-k 跳过 SSL 检测,不会检查服务器的 SSL 证书是否正确

--limit-rate 限制 HTTP 请求和回应的带宽,模拟慢网速的环境

Last updated

Was this helpful?