curl 命令的学习笔记

2023-10-26

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的使用大全。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

curl 命令的学习笔记 的相关文章

  • 如何将TabLayout与Recyclerview同步?

    我有一个TabLayout with Recyclerview这样当单击选项卡时Recyclerview滚动到特定位置 我也想要相反的过程 这样当Recyclerview滚动到特定位置 然后该特定选项卡会突出显示 例如 如果有 4 个选项卡
  • 在 IntelliJ 插件中创建后台任务

    我正在开发一个 IntelliJ idea 插件 并希望在后台任务中运行代码 在后台任务对话框和 UI 之外的另一个线程中可见 我发现了以下内容助手类 https github com inmite android selector cha
  • Java中printf左对齐

    当我运行该程序时 阶乘值右对齐 有没有办法让它左对齐 同时保持中间 50 个空格 public class Exercise 5 13 public static void main String args int numbers 1 2
  • 将命令行参数传递给可运行的 JAR [重复]

    这个问题在这里已经有答案了 我从 Eclipse 项目构建了一个可运行的 JAR 用于处理给定的 XML 文件并提取纯文本 但是 此版本要求将该文件硬编码在代码中 有没有办法做这样的事情 java jar wiki2txt enwiki 2
  • 添加样式后如何重置回默认CSS?

    基本上 我通过添加如下样式类来更改 javafx 中文本字段的 css textfield getStyleClass add textfieldstyle 但后来我希望能够将其恢复到原来的样子 但由于本例中的原始外观是 JavaFX 的默
  • Java 8 列表到带有总和的 EnumMap

    我有以下课程 public class Mark private Long id private Student student private Integer value 0 private Subject subject public
  • Spring Security“拒绝执行来自...的脚本”

    我正在 HTML 文件 thymeleaf 模板 中使用 Spring Security 和 Bootstrap 构建 Spring MVC 应用程序 Spring Security部分基于Spring Guide对于春季安全 http s
  • 在word文档的标题中添加图片时出现问题

    我正在Word文档的标题中添加图片 它显示图像的框架并显示 当前无法显示图像 如果我将文本添加到标题 它会显示文本 如果我在文档正文中添加图像 它也会显示图像 获取图像也是如此 它在标题上显示文本 但没有图像 我的支票快用完了 有人可以建议
  • 从命令行将 clojure 源代码编译为类(AOT)(不使用 lein)

    我正在尝试将 clojure 源代码编译成类文件 并仅使用命令行运行它 没有 lein 也没有 可能 回复 我有 core cljsrc hello目录 src hello core clj 这是源代码 ns hello core defn
  • 将 LinkedHashset 内容复制到新的 ArrayList?

    我有一个最初包含一些内容的 listView 如果它得到相同的内容 我通过删除重复linkedhashset 现在 我想复制linkedhashset内容 即没有重复的内容到新的ArrayList 我尝试复制通过 p addAll 0 lh
  • 无法向 openfire 服务器发送消息

    我无法使用 SMACK API 向 openfire 服务器上的 XMPP 客户端发送消息 我不确定我哪里出错了 我在 gtalk 上测试了相同的代码 它工作正常 public class SenderTest public static
  • 0x0A 和 0x0D 之间的区别

    我正在研究蓝牙 我试图编写代码以在连接时继续监听输入流 我遇到了以下代码片段 int data mmInStream read if data 0x0A else if data 0x0D buffer new byte arr byte
  • 如何在javafx中通过事件传递参数?

    我有以下示例 我想将参数 文本 与事件一起传递 当单击按钮 bla 时 我该怎么做 EventHandler
  • 如何在 Spring Boot 中跳过将某些 @Entity 类创建为 h2(内存中)数据库中的表?

    我正在尝试构建一个使用 2 个数据源的 Spring Boot 应用程序 我现在的主要数据库是内存数据库 仅用于测试目的 其中的表是在我创建的 sql 文件的帮助下填充的 另一个数据库 oracledb 具有已填充的表 我想实现什么目标 我
  • 什么时候使用弱引用? [复制]

    这个问题在这里已经有答案了 我了解什么是 Java WeakReference 我想知道的是它通常用于解决哪种具体问题 有没有包含它们的模式 WeakReference and SoftReference当您想保留某些东西以备再次需要时使用
  • 在 Eclipse 中编写链接特定行的注释

    我正在 Java 中使用 Eclipse 并且处理很长的类 我需要这样的功能 在方法的顶部注释中 例如 有一个由该方法执行的操作列表 对于列出的每个操作 我想将注释的一部分 超链接 到相关代码的特定行 然后使用 Ctrl Click 到该行
  • Java如何处理IF语句和效率

    我只是好奇 Java 实际是如何工作的if声明 注意 当我在下面说 组件 时 我指的是语句检查的各个部分 例如a b c 哪个在计算方面更有效 if a b c do stuff or if a if b if c do stuff 我之所
  • 如何处理MaxUploadSizeExceededException

    MaxUploadSizeExceededException当我上传的文件大小超过允许的最大值时 会出现异常 我想在出现此异常时显示错误消息 如验证错误消息 我该如何处理这个异常 以便在 Spring 3 中执行类似的操作 Thanks 这
  • 返回数据集的 kSoap 和 .Net Web 服务

    我知道使用数据集是一个很大的罪恶 但由于该服务不在我的控制之下 并且创建代理服务的前景是不可能的 我想看看是否有人创建了可以使用 kSoap 序列化器反序列化的类结构 或者我是否吸错了东西 同时要启动它 看看是否可行 以下是预期的结果数据
  • Oracle 的商业 Hotspot JVM 相对于 OpenJDK 有哪些性能优势?

    正如这个问题中所描述的 OpenJDK 与 Java HotspotVM https stackoverflow com q 44335605 1593077 Oracle 的商业 Hotspot JVM 本质上是 OpenJDK 加上一些

随机推荐

  • 【IDEA】idea 调试技巧 查看字段 什么时候修改的

    文章目录 1 概述 1 概述 如果你阅读源码 你一定会有个困扰 类中的某个字段的值到底是在哪里改变的 你要一点点追踪调用栈 逐步排查 稍不留神 就可能有遗漏 我们可以在 IntelliJ IDEA 中为某个字段添加断点 当字段值有修改时 自
  • es--基础--06--es集群

    es 基础 06 es集群 1 集群概念 概念看es入门学习3 理论 2 集群的搭建 利用原有的单机 elasticsearch 5 6 8 来搭建 搭建三台es服务器 分别提供的端口是9201 9202 9203 2 1 停止elasti
  • 特征选择策略:为检测乳腺癌生物标志物寻找新出口

    内容一览 microRNA 小分子核糖核酸 是一类短小的单链非编码 RNA 转录体 这些分子在多种恶性肿瘤中呈现失控性生长 因此近年来被诸多研究确定为确诊癌症的可靠的生物标志物 biomarker 在多种病理分析中 差异表达分析 Diffe
  • 解决Dropbox国内无法实时更新的问题

    Dropbox软件需要在全局模式下才能时时同步 但全局模式下无法打开某些国内网站 所以需要解决该问题 解决方法 通过设置代理的方式让Dropbox软件自动同步 但在尝试中 设置为socks5代理发现不能使用 改为http代理 马上生效 打开
  • 十分钟带你走进Hive世界(每走一步都是为了离你更近些)

    该文章已更新到语雀中 后台回复 语雀 可获取进击吧大数据整个职业生涯持续更新的所有资料 该文基于Hive专题 从SQL聊Hive底层执行原理进一步的深入学习Hive 相信大多数童鞋对于Hive底层的执行流程只是局限于理论层面 那么本篇将带大
  • Windows平台Unity3d下如何同时播放多路RTSP或RTMP流

    好多开发者在做AR VR或者教育类产品时 苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器 如果基于Unity3d完全重新开发一个播放器 代价大 而且周期长 不适合快速出产品 我们认为当前最好的方式就是集成现有N
  • 【计算机网络】 TCP——四次挥手

    文章目录 流程 考点 流程 主动方打算关闭连接 此时会发送一个TCP首部FIN标志位被置为1的报文 也即FIN报文 之后主动方进入FIN WAIT 1状态 被动方收到该报文后 就向主动方发送ACK应答报文 接着被动方进入CLOSE WAIT
  • Qt 6.4.2在Windows上安装过程及简单验证

    Qt是一个跨平台的C 开发库 用来开发图形用户界面 Graphical User Interface GUI 它支持Windows Linux macOS Android iOS QNX等平台 一个框架 一套代码库 任意平台部署 Qt有开源
  • Centos 8上安装Docker配置国内镜像源

    一 使用背景 在阿里云上安装docker后 如果采用国外的源地址 pull的时候 速度慢到让人崩溃 二 国内常用加速地址 Docker中国官方加速地址 https registry docker cn com 网易163镜像加速 http
  • 使用 Waffle 进行测试的基本流程及使用方法-文章来自问我社区

    前言 Waffle 是一款适配 ehter js 的智能合约测试库 本样例演示了使用 Waffle 进行测试的基本流程及使用方法 Waffle 详细使用方法可以参考 Waffle 官网 对于不熟悉 Waffle 测试框架的开发者 可以根据本
  • 腾讯Cos对象储存api用法教程中英图文讲解

    Chinar blog www chinar xin 腾讯云 Cos api sdk详解 本文提供全流程 中文翻译 Chinar 的初衷是将一种简单的生活方式带给世人 使有限时间 具备无限可能 Chinar 心分享 心创新 助力快速理解 C
  • Egg简介

    Egg 前言 Egg js 为企业级框架和应用而生 基于Koa开发封装 性能优异 内置多进程管理 具有高扩展性 且提供了基于Egg定制上层框架的能力 帮助开发团队降低了开发维护成本 约定先于配置 相较于express更加灵活可配 Koa K
  • gateway网关的使用

    今天与大家分享gateway网关的使用 1 gateway简介 1 1 是什么 SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关 目标是替代 Zuul 在Spring Cloud 2 0以上版本中 没
  • 动手实验:使用 jstat 摸清线上系统的JVM运行状况

    添加VX ruyuan0220 回复 CSDN 领取更多精品学习资料 目录 功能强大的jstat jstat gc PID 其他的jstat命令 到底该如何使用jstat工具 新生代对象增长的速率 Young GC的触发频率和每次耗时 每次
  • 关于\n,\\\n,\\\\\n在java中的split()正则中的理解

    关于 n n n在java中的split 正则中的理解 在做一个题的时候 要把一串字符串dir n tsubdir1 n tsubdir2 n t tfile ext按 n分割 粘贴到idea idea识别自动转义成 也是一个坑 dir n
  • C/C++中调用SQLITE3

    C C 中调用SQLITE3 2011 08 04 17 31 09 分类 LINUX C C 中调用SQLITE3的基本步骤 Sqlite 是一个面向嵌入式系统的数据库 编译完成只有200K 同时支持2T的数据记录 对于嵌入式设备是一个很
  • 操作系统与Linux篇之卷首语

    2023年7月23日 周日晚上 通过纯粹地看操作系统相关书籍来学习操作系统实在是太枯燥和抽象了 我看不到实现的细节 我看不到实际的操作系统代码 这让我学得很难受 所以我决定结合开源的Linux来学习操作系统 我发现这样做不仅学起来更加有趣
  • Expecting property name enclosed in double quotes解决篇

    作者 关注了 Github Github 掘金 进去看看 爱好 Americano More Ice QQ学习交流群 new 811792998 问题 json decoder JSONDecodeError Expecting prope
  • spring boot: 输出json

    spring boot 输出json 注意 关闭java的Terminate后 在重新启动 否则报错 app java启动配置 package com muyang boot1 import org springframework boot
  • curl 命令的学习笔记

    curl 命令的学习笔记 curl 官网 https curl haxx se curl 全称 CommmandLine URL 或 CommandLine Uniform Resource Locator 是用于从服务器传输传输数据或向服