curl 命令的学习笔记

curl 官网:https://curl.haxx.se/

curl 全称 CommmandLine URL 或 CommandLine Uniform Resource Locator,是用于从服务器传输传输数据或向服务器传输数据的工具。它支持以下协议:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET或TFTP。该命令旨在无需用户交互即可工作。

curl 提供了大量有用的技巧,如代理支持、用户身份验证、FTP上传、HTTP发布、SSL连接、cookie、文件传输恢复等。

1. 常见用法:

1、curl url

作用:获取页面内容或接口响应

eg:

curl www.baidu.com

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

curl 的用法跟一般的linux/Unix 命令无异,一般语法如下。

crul -[选项] [URL]

2、curl -I url

作用:获取请求页面或接口的请求头信息

eg:

curl -I www.baidu,com

运行如下:

HTTP/1.0 403 Forbidden
Server: Lusca/LUSCA_HEAD-r14809
Date: Fri, 18 Mar 2022 05:29:55 GMT
Content-Type: text/html
Content-Length: 2617
X-Squid-Error: ERR_ACCESS_DENIED 0
X-Cache: MISS from HexinFirewall
Connection: close

3、curl -d “params” url

作用:使用-d发送带参数的请求(默认是Post方式提交)

curl -d "user=xiaoming&age=18" www.baidu.com

4、curl -X选项 url

-X选项,指定请求方式,我们可以有多种请求方式,最常见的是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

5、curl -H Head_infos

作用:自定义Header 头信息

6、curl -L url

作用:跟踪连接url重定向,有些页面或接口被重定向,直接使用 curl url 会返回

7、curl -O url

作用:下载指定资源文件到当前目录中

8、curl -v url

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

eg:

curl -v www.baidu.com

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

  • 域名解析过程:我们可以得到真正连接的IP地址和端口
  • 请求头信息:其中有使用的协议(HTTP),协议的请求方式(GET)
  • 回应头信息:包含状态码,内容格式(text/html),内容长度等。

9、curl -i url

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

eg:

curl -i www.baidu.com

10、curl -I url

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

11、curl -u msg url

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

curl -u username:password www.baidu.com
curl -u username www.baidu.com

12、curl -h

curl -h命令是一条帮助命令,可以获取curl的使用大全。

curl 命令的学习笔记相关推荐

  1. linux三剑客-sed命令的学习笔记

    本文为在B站上学习linux命令的学习笔记,视频出处为https://www.bilibili.com/video/BV1244y1e73a?p=23&spm_id_from=pageDriv ...

  2. 吃烧烤之命令模式学习笔记[C++版]

    #pragma once /******************************** * * 命令模式应用:烤羊肉串二 * ********************************/ ...

  3. 吃烧烤之命令模式学习笔记[C++版] 1

    /************************************************************************ * 命令模式学习笔记[C++] * Author: ...

  4. ifconfig没有命令 kali_kali学习笔记之——端口扫描工具

    之前的kali学习笔记分别介绍了kali的网卡问题和隐藏ssid的扫描 蟪蛄语春秋:kali学习笔记之--wi read():Network is down问题​zhuanlan.zhihu.com ...

  5. linux解挂文件磁盘的命令,Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令...

    Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...

  6. Git命令配置学习笔记

    Git 笔记 Git是分布式版本控制系统 集中式VS分布式: 集中式版本控制系统,版本库集中存放在中央服务器,必须要联网才能工作,没有历史版本库. 分布式版本控制系统,版本控制系统没有"中央 ...

  7. [整理]ADB命令行学习笔记

    global driver # 元素定位 driver.find_element_by_id("id") # id定位 driver.find_element_by_name(&q ...

  8. VMWare ESX命令行学习笔记

    原文地址 http://blog.chinaunix.net/u/739/showart.php?id=1286954 暂记于此,待用. 近来学习了VMWARE ESX下的相关命令,现记录下一些主要的 ...

  9. 远程仓库与 fetch 命令——Git 学习笔记 20

    远程仓库是指托管在因特网或其他网络(比如局域网)中的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则对你可读可写. 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据. 查看远程仓库 ...

最新文章

  1. POJ2796 Feel Good(单调栈)
  2. [转] DataSet的的几种遍历
  3. Silverlight 鼠标与键盘事件注意点
  4. Java ArrayList 为什么要实现 RandomAccess 接口?
  5. 河北省国家电网计算机专业,河北省国家电网计算机类题目库.doc
  6. 剩余大学时光里要做的事
  7. Python+pywin32批量转换Word文件为PDF文件
  8. 选择编程语言前需要知道的事
  9. 发那科机器人接线电源_电源开关上的L1和L2是不是火线和零线?
  10. moodle环境安装linux,Linux下安装Moodle
  11. MATLAB 转置与共轭转置、在legend中输入数字、求频偏的小收获
  12. win10系统计算机如何分盘,windows10怎么分盘
  13. pinia报错, getActivePinia was called with no active Pinia. Did you forget to install pinia?
  14. CSAPP拆弹实验/炸弹实验
  15. Learn to say “fuck you” to the world every once in a while
  16. 淘宝用户行为分析(一):点击—加购—收藏—购买
  17. IME输入法编程:第一章 Windows9x系统下汉字输入法的基本原理
  18. Java每次从list中拿取一百条数据
  19. 我发的文章是怎么到你手机上的?计算机网络基础(一)
  20. javaAPI 集合

热门文章

  1. 火狐浏览器添加脚本(可代替手动做一些操作)
  2. 2022-2027年中国微光器件行业市场调查研究及投资战略研究报告
  3. python 2020微光 笔试01 分辨复读机
  4. 电子商务产品属性结构设计
  5. arp截取web图片与账号密码
  6. iris数据集(.xls .txt)免费下载
  7. Java语音怎么输出翼型_使用ICEM CFD建立二维翼型流场网格
  8. SQL语法大全中文版
  9. 研发管理-项目内部立项流程
  10. WebLogic安装补丁