Linux命令篇 - curl 命令


curl

查看网页源码

直接在curl命令后加上网址,就可以看到网页源码。

$ curl www.baidu.com

image-20210705182205683

如果要把这个网页保存下来,可以使用-o参数,这就相当于使用wget命令了。

# 将 www.baidu.com 页面 保存为aa.html文件
$ curl -o aa.html www.baidu.com

image-20210705182316877

自动跳转

有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。

$ curl -L www.sina.com

键入上面的命令,结果就自动跳转为www.sina.com.cn。

image-20210705183013697

有的网址是HTTPS协议,但是通过浏览器访问时会自动跳转;但是通过curl时需要手动指定-L跳转。

# 可通过自行配置SSL证书然后访问查看区别
$ curl xxx.com
$ curl -L xxx.com

image-20210705182716252

显示头信息

在curl命令后加上-I,就只显示http response的头信息。

$ curl -I www.baidu.com

image-20210705183356005

通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

$ curl -v www.baidu.com

image-20210705184731899

下载文件

-OL-oL参数可以下载zip、tar.gz等格式文件。-OL-oL的区别是,前者不需要指定下载文件名,后者需要指定下载文件名。这里使用参数-OL下载mybatis源码包。

$ curl -OL https://github.com/mybatis/mybatis-3/archive/refs/tags/mybatis-3.5.7.zip

断点续传

首先,需要判断站点是否支持断点续传;可通过-I参数显示头信息查看是否支持断点续传。

# 判断是否支持断点续传 
# 若出现一下三种信息中任意1-2种都可认为支持断点续传
$ curl -I https://xxx/xxx.jpg
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Range: bytes 0-9/1575

# 断点续传
$ curl -C -  https://github.com/mybatis/mybatis-3/archive/refs/tags/mybatis-3.5.7.zip

获取天气

# wttr.in 帮助文档
$ curl wttr.in/:help

# 使用方式: wttr.in/城市名称
# 获取上海天气
$ curl wttr.in/shanghai

# 使用方式: wttr.in/机场代号
# 获取机场附近天气
$ curl wttr.in/pvg

获取IP地址

$ curl -L ip.tool.lu
posted @ 2021-07-08 10:57  HOsystem  阅读(2942)  评论(0编辑  收藏  举报