curl

curl

在 Linux 中 curl 是一个利用 URL 规则在命令行下工作的文件传输工具,可以说是一款很强大的 http 命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称 curl 为下载工具

curl [option] [url]

简单使用:

直接获取 url 指向的内容,如果是 HTTP 协议的 url,就是网页指向的 html

curl http://172.16.20.143:8080/application-web-1.0-SNAPSHOT/hello-servlet

由于安装 linux 的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站。

保存 url 指向的内容

curl http://172.16.20.143:8080/application-web-1.0-SNAPSHOT/ >> ~/mainpage.html:使用重定向保存

使用 -o(小写) 保存内容,文件保存地址必须存在,否则报错

curl -o ~/outpage.html  http://172.16.20.143:8080/application-web-1.0-SNAPSHOT/hello-servlet

使用 -O(大写) 保存网页中的文件,注意不能指定文件地址,默认保存在命令执行目录,要注意这里后面的 url 路径要正确,而且要具体到某个文件,不然抓不下来

curl -O http://172.16.20.143:8080/application-web-1.0-SNAPSHOT/aaa.js

测试网页返回值,这是很常见的测试网站是否正常的用法

curl -o /dev/null -s -w %{http_code} http://172.16.20.143:8080/application-web-1.0-SNAPSHOT/hello-servlet

指定 proxy 服务器以及其端口

比如我本地一直在用的 SSR 的代理,地址是 127.0.0.1:1080,可以用来访问 Google,那是不是可以配置一下让虚拟机使用宿主机的代理然后让虚拟机可以上 Google 呢?

我试了一下:

curl -x 172.16.20.1:1080 http://www.baidu.com

失败

还有其他功能:

具体查看:Linux curl 命令详解 - 都市烟火 - 博客园