强大的curl命令的介绍和一般用法

Posted Firm陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强大的curl命令的介绍和一般用法相关的知识,希望对你有一定的参考价值。

curl,全称CommandLine URL 或 CommandLine Uniform Resource Locator,顾名思义,curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。

这个命令行工具现在多用于Unix和Linux操作系统,是一个开源的工具,功能十分强大。
下面是curl的官方网站,我们可以在该网站获取该工具的最新版本,还有最全面的使用方法。
https://curl.se/
从官网我们可以知道,该工具支持以下30多种类型的传输方式,这当中包含多种协议。


最常使用的有FILE、FTP、HTTP、HTTPS等协议。
对于程序员在说,在我们开发远程服务的时候,比如http传输,SOCKET等网络编程时,这个工具能非常方便的作为你的验证工具和测试工具。

比如下面是最简单的用法,通过这种方式获取一个页面。我输入的www.baidu.com甚至还不是一个完整的URL,因为没有指明所用的协议,curl智能地进行了选择。

运行后,返回的是一个百度主页的html代码。

curl www.baidu.com


本文主要还是介绍curl的一般用法,详细用法请参阅官网。
curl的用法跟一般的linux/Unix命令无异,一般语法如下。

crul -[选项] [URL]

1.-v 选项,–verbose,指定该选项后,可以跟踪URL的连接信息。我们可以根据这个选项看看curl是怎么工作的。

比如刚刚演示的那个百度链接,我们加入-v选项,就可以看看它是怎么工作的。

加上选项后返回的信息,包括很多重要信息:

域名解释过程:我们可以得到真正连接的IP地址和端口

请求头信息:其中有使用的协议(HTTP),协议的请求方式(GET)

回应头信息:包含状态码(200),内容格式(text/html),内容长度等

curl -v www.baidu.com


2.-i 选项,–include,把回应的头信息包含在内,跟-v大同小异,是-v的子集

curl -i www.baidu.com


3.-I (大写i)选项,–head,只显示返回的头信息,与-v大同小异,是-v的子集。

curl -I www.baidu.com


4. -u 选项,带用户验证的连接。可以访问或获取带用户验证的URL。

curl -u username:password ftp://127.0.0.1/hello.txt
curl -u username ftp://127.0.0.1/hello.txt
curl -u username:password https://127.0.0.1/

5.-d 选项,带请求参数的连接。比如下面的URL,user=xiaoruan&age=22就是所带的参数。crul可以带请求参数。
http://127.0.0.1/index.html?user=xiaoruan&age=22

curl -d 'user=xiaoruan&age=22' http://127.0.0.1/index.html

6.-X 选项,指定请求方式,我们知道URL可以有多种请求方式,最常见的是GET和POST,但请求的方式,包括GET、PUT、POST、DELETE四种方式。
这四种请求方式,对于在做RESTFUL接口开发和测试的人来说,非常方便。curl的用法如下:

curl -XGET www.baidu.com
curl -XPOST www.baidu.com
curl -XDELETE www.baidu.com
curl -XPUT www.baidu.com

以上是关于强大的curl命令的介绍和一般用法的主要内容,如果未能解决你的问题,请参考以下文章

curl 的用法指南

Linux运维命令Curl - 日常用法总结

Linux命令CURL用法

Linux命令CURL用法

curl的用法

curl和wget的区别和用法介绍