今天给大家介绍下网络分析工具curl。


什么是Curl

curl是一款热门的网络传输命令行工具。

除了http协议之外,curl还支持DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SBMS, SMTP, SMTPS, TELNET 和TFTP等各类网络协议。

常常应用于linux环境下,进行后台测试,下载文件等。

Curl的使用

一般来说在各个平台的终端,如windows的cmd,mac的terminal等都会内置了curl工具。

因此可以直接使用。

简单访问网址

最简单的使用方式是利用curl访问网址,比如我们访问下百度

curl http://www.baidu.com

image-20200417085735093

我们可以看到直接获得了返回的html

展示详情(verbose)

但是有时候我们并不仅仅需要一个返回页面,更期望知道request和response的详情

这个时候就可以使用 -v参数

curl -v http://www.baidu.com

image-20200421193904558

我们看到了本次请求的request和response信息

鉴权(Auth)

我们还常常见到一些网站是需要权限才能够访问的

在curl中可以使用 -u参数添加

curl -u xinyuehtx.github.io:ilikeit -v http://www.baidu.com

image-20200421194800478

post

当然除了get请求,我们还会需要使用其他的http动词,例如post

在curl,我们可以使用-X参数选择http动词和-d参数传入数据

curl -X POST -d "name=xinyuehtx.github.io&value=ilikeit" -v http://www.baidu.com

image-20200421205325578

##其他用法

其他更加详细的用法可以在curl - Tutorial 官网手册

或者直接用curl -help获取帮助文档


参考文档:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/curl%E7%9A%84%E4%BD%BF%E7%94%A8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系