【Linux应知应会】- curl命令行的使用说明(附带实例)

发布于:2023-02-08 ⋅ 阅读:(960) ⋅ 点赞:(0)

curl资源

curl常见用法介绍

HTTP常见请求

curl默认发送GET请求

执行命令:

curl www.baidu.com

执行结果:

在这里插入图片描述

可以看到,这里和直接访问百度是一样的效果,只不过这里返回的是html文件,没有经过渲染。

-X 指定请求方法

可以通过 -X 来指定请求方法,这里使用,比如指定POST

curl -XPOST www.baidu.com

执行结果:

在这里插入图片描述

其他请求方法,参考HTTP 1.1规范。常见的附加HTTP请求包括PUT和DELETE,PROPFIND、COPY、MOVE等功能。

HTTP首部

-d 指定参数

还有可以通过 -d 参数来指定POST参数(该网站貌似需要魔法…不然很慢)

curl -XPOST https://jsonplaceholder.typicode.com/posts -d '{"title":"jay"}'

执行结果:

在这里插入图片描述

-H 指定头部

接下来,可以通过 -H 选项来指定 HTTP的首部,比如这里指定 Content-Typeapplication/json

curl -XPOST https://jsonplaceholder.typicode.com/posts -H 'Content-Type:application/json' -d '{"title":"jay"}'

执行结果同上。

-I 得到响应的全部首部

上面只是得到了网站设定的响应,可以通过 -I 参数来得到响应的完整首部

还是我们熟悉的百度,执行命令

curl -I www.baidu.com

执行结果:

在这里插入图片描述

文件处理

可以通过curl来做一些文件处理操作,比如下载

-O 下载文件

curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf

这里下载的是《Linux就该这么学》的电子版,命令执行完成后,可以看到pdf已经下载好了。

在这里插入图片描述

-o 下载文件后并重命名

curl -o Linux就该这么学 https://www.linuxprobe.com/docs/LinuxProbe.pdf

下载好并重命名了

在这里插入图片描述

这个选项在下载资源时较为有用,因为网上下载的资源名字一般都是乱码。

–limit-rate 限制下载速度

curl --limit-rate -o Linux就该这么学 https://www.linuxprobe.com/docs/LinuxProbe.pdf

-C - 恢复下载

curl -C - -o Linux就该这么学 https://www.linuxprobe.com/docs/LinuxProbe.pdf

注意:-C后面需要接一个-,因为-C后面需要接参数,这里不需要接额外的参数,所以需要接一个-

连接与测试

-L 跟随重定向

有的网站做了重定向,比如B站,如果我们直接执行curl

curl www.bilibili.com

执行结果

在这里插入图片描述
可以看到,返回了状态码301,那么执行 -L 进行跟随重定向:

curl -L www.bilibili.com

在这里插入图片描述

-v 显示底层连接信息

想得到更详细的底层连接信息,可以试用 -v参数

curl -v -L www.bilibili.com

在这里插入图片描述
可以看到显示了握手信息,请求,响应头部信息,以及很多其他细节。

–proxy 代理访问

可以通过指定代理来访问目标URL

curl --proxy "协议://用户名:密码@代理端口:端口" URL

-u 指定用户名密码

curl支持基本所有的互联网协议,远远不止HTTP,比如需要从ftp服务器上下载文件,一般是需要指定用户的

curl -u 用户名:密码 -O ftp_server 

-T 文件上传

curl -u 用户名:密码 -T 文件 ftp_server 
本文含有隐藏内容,请 开通VIP 后查看