cURL 入门:10 分钟学会用命令行发 HTTP 请求

curl初识

  • curl
    • 通过 URL 传输数据的命令行工具和库
    • 是一个非常强大的命令行工具,用于在网络上传输数据。它支持众多的协议,像 dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss等
      在这里插入图片描述

常用指令

  • curl 的用法指南
用法: curl [options...] <url>
-d, --data <data>           HTTP POST data 用于在 HTTP POST 请求里发送数据,数据格式通常为表单数据(key1=value1&key2=value2)或者 JSON 数据
-f, --fail                  Fail fast with no output on HTTP errors 若 HTTP 请求返回的状态码是 4xx 或 5xx,curl 会立即失败,且不输出响应内容
-h, --help <category>       Get help for commands 显示 curl 命令的通用帮助信息
-i, --include               Include response headers in output 在输出中包含响应的 HTTP 头信息
-o, --output <file>         Write to file instead of stdout 把响应内容写入指定的文件,而非输出到标准输出
-O, --remote-name           Write output to file named as remote file 把响应内容写入一个文件名和远程文件相同的文件
-s, --silent                Silent mode 静音模式,不显示进度条和错误信息。
-T, --upload-file <file>    Transfer local FILE to destination 将本地文件传输到指定的远程目标
-u, --user <user:password>  Server user and password 指定服务器的用户名和密码,用于身份验证
-A, --user-agent <name>     Send User-Agent <name> to server 在请求头中设置用户代理信息
-v, --verbose               Make the operation more talkative 详细模式,显示更多的操作信息,如请求头、响应头、连接信息等
-V, --version               Show version number and quit 显示 curl 的版本号并退出

常用功能

  • curl 常用功能,它还有很多其他的选项和用法,你可以通过 curl --help / curl --help all 或者 man curl 命令查看详细的帮助文档。

获取网页内容

若要获取某个网页的 HTML 内容,可使用以下命令:

curl https://www.example.com

此命令会向 https://www.example.com 发送一个 GET 请求,并且把响应内容输出到终端。
在这里插入图片描述

下载文件

若要下载文件,可使用 -O 选项:

curl -O https://example.com/file.zip

该命令会把 https://example.com/file.zip 文件下载到当前目录,并且文件名保持不变。
在这里插入图片描述

发送 POST 请求

若要发送一个 POST 请求,可使用 -X POST 选项,同时使用 -d 选项来指定请求体:

curl -X POST -d "key1=value1&key2=value2" https://example.com/api

此命令会向 https://example.com/api 发送一个包含表单数据的 POST 请求
在这里插入图片描述

携带请求头

若要在请求中携带自定义的请求头,可使用 -H 选项:

curl -H "Content-Type: application/json" -H "Authorization: Bearer your_token" https://example.com/api

这个命令会在请求中添加 Content-Type 和 Authorization 请求头。

显示响应头

若要显示响应的 HTTP 头信息,可使用 -i 选项:

curl -i https://www.example.com

这样,响应的 HTTP 头和内容都会显示在终端。
在这里插入图片描述

示例

curl可以用来复现某个请求的场景,可以通过network右键请求,以cURL格式复制,在联调阶段提供给后端复现异常case

cURL格式复制

  • 控制台网络右键,以cURL格式复制
    在这里插入图片描述
    curl 'https://bizapi.csdn.net/blog-console-api/v3/editor/getArticle?id=147578947&model_type=' \-H 'accept: */*' \-H 'accept-language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6' \-b $'uuid_tt_dd=10_20886590480-1715581486529-199232; UN=Sheng_zhenzhen; Hm_up_6bcd52f51e9b3dce32bec4a3997715ac=%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22Sheng_zhenzhen%22%2C%22scope%22%3A1%7D%7D; __gpi=UID=00000e1a492850fb:T=1715590181:RT=1715839707:S=ALNI_MY8mypwNtf_Kj4GFL4esXQyjSOqqw; chat-version=2.1.1; cf_clearance=ITQEWw5z1YDm8Ze.0oxq0dDpsWkei6LjewH6KXUGLNI-1716793341-1.0.1.1-qlOvY2p_zmqgE_r7zm1eAid8o1f8Mkn56.JnPangSDHNvBP7eOd3Hk1mBoBf7HL5_7Kl4Yw597wVVuri1jPI_g; pluginId=kfkdboecolemdjodhmhmcibjocfopejo; pluginVersion=3.0.6; pluginUUID=10_79336979949-1717050176275-846154; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_20886590480-1715581486529-199232\u00215744*1*Sheng_zhenzhen; fid=20_82651201800-1723170159863-555732; _ga=GA1.2.1578275584.1715592580; _ga_7W1N0GEY1P=GS1.1.1730258945.16.1.1730259669.60.0.0; UserName=Sheng_zhenzhen; UserInfo=f99197ef9c784558bd56392ed10ea1b0; UserToken=f99197ef9c784558bd56392ed10ea1b0; UserNick=%E5%AD%A4%E5%BD%B1_ls; AU=6DB; BT=1731318494288; p_uid=U010000; csdn_newcert_Sheng_zhenzhen=1; historyList-new=%5B%5D; ssxmod_itna=eqRxnQi=oGqDq0KGQDXinxBKWSQQoDu7W=Gx0v4PGzDAxn40iDtrZ8liogYpB0mgmXi7YjdcN5EQfm0AWKGm3weK7ADAoDhx7QDox0=DnxAQDjhE4GGIxBYDQxAYDGDDPcDGqXORD7Otk0r5FmoIFI=5DbrK7DiKODYHmDAqGS2yC7o2CDDPmDl9sDWP7DQ5zm2PDExGOfbFwuxGarFffs4KDECbks/oDvhO7CxGd9pyzmpLtKC+eKihqS7a4EeRDQCGqhDxnOe+qqDxqmT2Yheb4OiG9Ho6otYD; tfstk=gDin20jl751jMalA9frBkA6nC5YTR9ZS4bI8wuFy75PsJ0eKU7VrGfUzypN-s7lEtuE8YbKorxHUTu3KegWz6-QFYuSU_PyunwJQ87rar-2Hd6zUzajaEbGuPpN8a7c-U2p9DnHIduZzqIKvDO-3WPi3a_EzAlo-YcVyDnHIL-vB51-xvqg8TWPz4yzz7GP_K8rzaWJg_82fz6lz4dvgEJ5P4MrPQhy43uPrauJiQ5wr63szi0osbClYILvtkxogKyVqKEsPqcjY-SkUsgRqjJjzgvPG4gPdhnZSUbRl2oujs04qN3j_vx0abJ0MUNPUo2lLCbxcYWoiLDPKYCILTDMZk0hwUgPo7qzYTVO6Vyuj9qziXBj_gVkieP06FwF-l8l7l0dfAWkrhmgYm3XuIqDajg7l7Z7sNgwwec75Pyy_ISHl-EHXIij76dvGleaUCJdvIdbSiyy_dspMIZr38RwpM; c_dl_prid=1740649897648_864214; c_dl_rid=1742281686650_772730; c_dl_fref=https://so.csdn.net/so/search; c_dl_fpage=/download/qq_38334677/86036480; c_dl_um=-; c_segment=0; HMACCOUNT=ED4D3BE6510A9B63; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1745380057; dc_sid=a08809d45b2f461665e7b45d90a82006; c_ab_test=1; c_first_ref=default; creative_btn_mp=3; is_advert=1; c_utm_source=cknow_so_nontop_query; fe_request_id=1745742732533_5850_4056531; _clck=13wupaw%7C2%7Cfvg%7C0%7C1594; __gads=ID=fe72fa3892ac6714:T=1715590181:RT=1745809122:S=ALNI_MZqCAlmtjYUiq6y2U8l7MnIUe9Jlg; __eoi=ID=b59f0837bf8979e7:T=1731227900:RT=1745809122:S=AA-AfjZJvIGf_IEkWgWEjLcXhNEO; FCNEC=%5B%5B%22AKsRol_hZnRk3OSTXRkf8v9YwrMBJ7vSLML0MCqwwXkl8fxQjmyxyDuWVhga8YSqEKbq_XXLmkViw2c1POZuF2vRu5sL5KzLMcEfJLj-hTldXI5USMJ5rm09P5N0T_dDk3yLRDQ_lR-DU2S0GAe78YJt3TN39FbYFA%3D%3D%22%5D%5D; dc_session_id=10_1745764966337.725197; c_first_page=https%3A//www.csdn.net/; c_dsid=11_1745810721238.604193; c-sidebar-collapse=0; c_page_id=default; creativeSetApiNew=%7B%22toolbarImg%22%3A%22https%3A//img-home.csdnimg.cn/images/20230921102607.png%22%2C%22publishSuccessImg%22%3A%22https%3A//img-home.csdnimg.cn/images/20240229024608.png%22%2C%22articleNum%22%3A195%2C%22type%22%3A2%2C%22oldUser%22%3Atrue%2C%22useSeven%22%3Afalse%2C%22oldFullVersion%22%3Atrue%2C%22userName%22%3A%22Sheng_zhenzhen%22%7D; log_Id_click=12; c_pref=https%3A//editor.csdn.net/; c_ref=https%3A//mpbeta.csdn.net/; log_Id_pv=16; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1745811569; dc_tos=svestt; log_Id_view=558' \-H 'origin: https://editor.csdn.net' \-H 'priority: u=1, i' \-H 'referer: https://editor.csdn.net/' \-H 'sec-ch-ua: "Google Chrome";v="135", "Not-A.Brand";v="8", "Chromium";v="135"' \-H 'sec-ch-ua-mobile: ?0' \-H 'sec-ch-ua-platform: "macOS"' \-H 'sec-fetch-dest: empty' \-H 'sec-fetch-mode: cors' \-H 'sec-fetch-site: same-site' \-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36' \-H 'x-ca-key: 203803574' \-H 'x-ca-nonce: e2186239-0495-49a9-8c05-02dd677772cf' \-H 'x-ca-signature: fIpNPDiIfxK5lYtg8bA/kjasew4xr8by8Ve9GxdqjHc=' \-H 'x-ca-signature-headers: x-ca-key,x-ca-nonce'
    

命令解释

  1. 请求 URL
    • curl ‘https://bizapi.csdn.net/blog-console-api/v3/editor/getArticle?id=147578947&model_type=’
      • 此 URL 指向 CSDN 的文章获取 API,id=147578947 表明要获取的文章 ID 是 147578947。
  2. 请求头参数
    • -H ‘accept: /’:表示客户端能接受任意类型的响应内容。
      -H ‘accept-language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6’:指明客户端期望的语言顺序,优先是中文(中国大陆、中国台湾),其次是英文。
      -b:用于传递 Cookie 信息,其中包含了用户的登录状态、用户信息、会话 ID 等。
      -H ‘origin: https://editor.csdn.net’:表示请求的来源页面是 https://editor.csdn.net。
      -H ‘referer: https://editor.csdn.net/’:表明请求是从 https://editor.csdn.net/ 页面发起的。
      -H ‘user-agent: …’:模拟浏览器的用户代理信息,这里模拟的是 Chrome 浏览器在 macOS 系统上的请求。
      -H ‘x-ca-key: …’、-H ‘x-ca-nonce: …’、-H ‘x-ca-signature: …’、-H ‘x-ca-signature-headers: …’:这些是自定义的请求头。

执行效果
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/77841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis应用场景实战:穿透/雪崩/击穿解决方案与分布式锁深度剖析

一、缓存异常场景全解与工业级解决方案 1.1 缓存穿透&#xff1a;穿透防御的三重门 典型场景 恶意爬虫持续扫描不存在的用户ID 参数注入攻击&#xff08;如SQL注入式查询&#xff09; 业务设计缺陷导致无效查询泛滥 解决方案进化论 第一层防护&#xff1a;布隆过滤器&am…

C# 高效操作excel文件

C#高效操作Excel文件指南 一、主流Excel处理方案对比 方案类型特点适用场景​​EPPlus​​第三方库功能全面&#xff0c;性能好&#xff0c;支持.xlsx复杂Excel操作&#xff0c;大数据量​​NPOI​​第三方库支持.xls和.xlsx&#xff0c;功能全面兼容旧版Excel文件​​Closed…

Rust 学习笔记:结构体(struct)

Rust 学习笔记&#xff1a;结构体&#xff08;struct&#xff09; Rust 学习笔记&#xff1a;结构体&#xff08;struct&#xff09;结构体的定义和实例化使用字段初始化简写用 Struct Update 语法从其他实例创建实例使用没有命名字段的元组结构来创建不同的类型没有任何字段的…

Dify Agent节点的信息收集策略示例

Dify Agent节点的信息收集策略示例 0. 安装"对话 Agent"插件1. 创建一个 Chatflow2. 创建一个 Agent 节点3. 创建一个条件分支节点4. 在IF分支创建一个LLM节点5. 创建一个直接回复节点6. 在ELSE分支创建一个直接回复节点7. 分布并预览 0. 安装"对话 Agent"…

Qt/C++开发监控GB28181系统/获取设备信息/设备配置参数/通道信息/设备状态

一、前言 设备注册成功后&#xff0c;接下来要做的就是获取设备的信息&#xff0c;尤其是通道信息&#xff0c;根据国标协议&#xff0c;永远只有两个层级&#xff0c;一个是设备&#xff0c;然后就是设备下面多个通道&#xff0c;设备编码在整个系统中唯一&#xff0c;通道编…

金融风控的“天眼”:遥感技术的创新应用

在金融市场的复杂博弈中&#xff0c;风险管控一直是金融机构的核心竞争力。然而&#xff0c;传统的风控手段在应对现代金融市场的快速变化时&#xff0c;往往显得捉襟见肘。 如今&#xff0c;遥感技术的创新应用为金融风控带来了全新的视角和手段。星图云开放平台的遥感金融立体…

HFI笔记

高频分量&#xff1a; 载波频率的一半 选择alfabeta轴进行计算的原因 最终结果&#xff1a; 观测器方程 采样加减分离法-&#xff08;高低频分离&#xff09; 高频信号的评论高频载波 转子极性辨识

halcon关闭图形窗口

1、dev_close_window () 调用一次这个函数关闭一个图形窗口&#xff0c;并且先关闭最后打开的那个图形窗口&#xff0c;如果一共打开了N个图形窗口&#xff0c;那么就需要调用dev_close_window N次。

每日算法-250430

每日算法 - 2025年4月30日 记录下今天解决的两道题目。 870. 优势洗牌 (Advantage Shuffle) 题目描述 解题思路与方法 核心思想&#xff1a;贪心策略 (田忌赛马) 这道题的目标是对于 nums1 中的每个元素&#xff0c;找到 nums2 中一个比它小的元素进行配对&#xff08;如果…

【MySQL】增删改查(CRUD)

目录 一. CRUD是什么 二. Create&#xff08;新增数据&#xff09; 2.1 单行数据全列插入 2.2 单行数据指定列插入 2.3 多行数据指定列插入 三. Retrieve &#xff08;检索/查询&#xff09; 3.1 全列查询 3.2 指定列查询 3.3 查询字段为表达式 3.4 为查询结果指定别名 3…

电商平台 API 开发实战:京东商品详情数据实时获取接口对接教程

在电商行业竞争日益激烈的当下&#xff0c;实时获取商品详情数据对于市场分析、竞品监控、商品推荐等业务场景至关重要。京东作为国内领先的电商平台&#xff0c;提供了强大的 API 接口&#xff0c;允许开发者获取丰富的商品信息。本文将详细介绍京东商品详情数据实时获取接口的…

YOLO视觉模型可视化训练与推理测试工具

推荐一款YOLO可视化训练测试工具: 对于yolo的训练,新手小白往往无从下手,本章推荐的这款工具可以非常轻易的帮您从模型训练到测试到部署。 下载地址http://www.voouer.com/yolo 可以点击此处跳转。 下载成功后打开这款工具,将会出现图形化界面,类似于下图所示: 当前页是可视…

微调 LLaMA 2:定制大型语言模型的分步指南

微调 LLaMA 2&#xff1a;定制大型语言模型的分步指南 深入了解如何运用新技术在 Google Colab 平台上对 Llama-2 进行微调操作&#xff0c;从而有效克服内存与计算方面的限制&#xff0c;让开源大型语言模型变得更加易于获取和使用。自从 Meta 发布了 LLaMA 的首个版本后&…

探秘明远智睿SSD2351开发板在HMI领域的独特魅力

人机界面&#xff08;HMI&#xff09;是人与机器进行交互的重要桥梁&#xff0c;其性能和用户体验直接影响到整个系统的使用效果。明远智睿的SSD2351开发板凭借其出色的性能和丰富的功能&#xff0c;在HMI领域展现出了独特的魅力。 SSD2351开发板的四核1.4GHz处理器具备强大的图…

Keysight万用表使用指南及基于Python采集数据生成Excel文件

文章目录 说明使用的库openpyxlpyvisa 代码说明效果展示参考代码 说明 本文介绍了 Keysight 34465A 的基本使用和 SCPI 指令设置&#xff0c;演示了使用 Python 的 PyVISA 库控制两台 34465A 同时采集数据的完整流程&#xff0c;包括设置采样参数、触发测量、读取数据、使用 O…

Docker 获取 Python 镜像操作指南

1. 安装 Docker 环境 1.1 上传安装脚本&#xff08;Windows → Linux&#xff09; 在 Windows 的 CMD 中执行&#xff1a; scp docker.sh root10.1.1.58:~ 可自行前往我的飞书下载docker.sh脚本 Docs 1.2 在 Linux 中检查文件 ls -l ~ # 确认 docker.sh 已上传到家目录…

JavaScript:从JS的执行机制到location对象

一、JS执行机制 &#xff08;1&#xff09;JS是单线程 JavaScript语言的一大特点就是单线程&#xff0c;也就是同一时间只能做一件事。因为JavaScript是为了处理页面中的用户交互&#xff0c;以及制作DOM二诞生的。比如我们对某个DOM元素进行添加和删除操作&#xff0c;这个不…

iVX:数字化转型全场景技术革新与生态构建实践

在数字经济蓬勃发展的当下&#xff0c;企业数字化转型需求日益迫切。iVX 凭借其独特的技术架构与创新解决方案&#xff0c;深度渗透工业互联网、元宇宙、智慧城市等领域&#xff0c;成为推动全场景数字化转型的重要力量。本文将重新梳理 iVX 的技术应用与生态价值&#xff0c;以…

生物化学笔记:神经生物学概论05 感受野 视觉中枢 高级视皮层中的信息走向

信息传递中的“击鼓传花” 新特性的突现 功能柱&#xff1a;简化节点 高级视皮层中的信息走向

StarRocks Lakehouse 如何重构大数据架构?

随着数据分析需求的不断演进&#xff0c;企业对数据处理架构的期望也在不断提升。在这一背景下&#xff0c;StarRocks 凭借其高性能的实时分析能力&#xff0c;正引领数据分析进入湖仓一体的新时代。 4 月 18 日&#xff0c;镜舟科技高级技术专家单菁茹做客开源中国直播栏目《…