curl HTTP客户端

cURL是Linux下最常用的HTTP客户端工具,包括命令行工具curl和开发库libcurl,cURL发布于1998年,作者是瑞典程序员Daniel Stenberg。

cURL支持很多种应用层网络协议,但最常用的还是作为HTTP/HTTPS客户端。curl命令的用途非常广泛,我们编写的Shell脚本经常使用curl实现网络功能,调试一些网络服务时curl也经常被用到。这篇笔记我们简单学习cURL命令行工具的用法。

基本用法

cURL工具支持非常多的命令行选项,这里我们以例子的形式进行介绍。

curl http://localhost/index.html

直接使用curl命令访问一个URL,会对资源地址发起一个HTTP GET请求。执行后,访问的页面就会打印在终端中。

curl -k https://localhost/index.html

-k参数用于跳过HTTPS的证书验证,我们内网部署的一些服务可能使用的是自签名证书,此时用cURL工具调试时经常需要指定该参数。

curl -v http://localhost/index.html

-v参数能够打印出HTTP请求的详细过程

curl -H "Accept-Language: en-US" http://localhost/index.html

-H参数用于指定HTTP请求头

curl http://localhost/api/v1/user -X POST -d "{\"username\": \"Tom\", \"age\": 18}"

上面命令发送了一个POST请求,数据部分以-d参数指定,为JSON格式。

-x参数用于通过代理进行HTTP请求

curl https://ifconfig.me -x socks5://127.0.0.1:10808

该参数对于常用的HTTP、HTTPS、Socks5代理协议均支持。

下载文件

下面例子我们通过cURL工具下载了data.zip文件。

curl http://localhost/data.zip -o data.zip

-o指定将返回数据下载下来,后面的参数指定了保存的文件名。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap