CURL 实例用法参考

文章目录

      • 1. 基础使用
      • 2. 指定请求Header
      • 3. 指定Http请求方法
      • 4. 发送POST请求,添加请求体
      • 5. 发送POST请求时,对请求体进行编码
      • 6. 设置请求来源
      • 7. 上传二进制文件
      • 8. 构造URL查询字段
      • 9. 新增请求头标头
      • 10. 参数打印服务器响应的标头
      • 11. 跳过SSL检测
      • 12. 模拟慢网络环境,限制请求和响应带宽
      • 13. 保存响应到文件
      • 14. 保存响应到文件,但是以url最后部分当文件名
      • 15. 设置服务器认证的用户名和密码
      • 16. 输出整个通信过程,用于调试程序
      • 17. 指定请求代理

最近由于需要频繁操作命令行,又需要频繁进行Web请求,所以需要学习一下 CURL 逻辑,它是常用的命令行工具,主要用来Web请求。CRUL就是Client©的URL的意思,由于不想天天Postman,所以对基本语法记录一下。

1. 基础使用

直接访问 https://www.toutiao.com

curl https://www.toutiao.com

2. 指定请求Header

-A

curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36" https://www.toutiao.com

如果为 -A '' 那么就是移除header,不发送任何header

3. 指定Http请求方法

-X

# 设置 POST 请求
curl -X POST https://www.toutiao.com   
# 设置 GET 请求
curl -X GET  https://www.toutiao.com

4. 发送POST请求,添加请求体

-d

curl -X POST -d "name=zhangsan&pwd=123" https://www.toutiao.com

5. 发送POST请求时,对请求体进行编码

–data-urlencode

curl -X POST --data-urlencode "content=how are you" https://www.toutiao.com

content中存在how are you中存在空格,因此需要对请求体进行编码

6. 设置请求来源

-e

curl -x POST -e 'https://www.baidu.com?q=abc' https://www.toutiao.com	

上面的命令是将Referer标头设置为https://www.baidu.com?q=abc

7. 上传二进制文件

-F

curl -F "file=@movie.mp4" https://www.upload.com

以上命令将会自动在Http Header中添加标头Content-Type:multipart/form-data,然后将文件movie.mp4作为file字段上传

# 指定MIME 类型为 video/mp4, 否则使用默认类型 application/octet-stream
curl -F "file=@movie.mp4;type=video/mp4" https://www.upload.com  

# 重命名上传文件名 文件名为 movie.mp4, 服务器新接收的名字为 new_movie.mp4
curl -F "file=@movie.mp4;filename=new_movie.mp4"

8. 构造URL查询字段

-G

有如下查询逻辑:https://www.target.com?query=123&limit=20

使用-G可以如下:

# 如果去掉 -G 那么将会是 POST 请求
curl -G -d 'query=123' -d 'limit=20' https://www.target.com 

9. 新增请求头标头

-H

curl -H 'sign=zjkad230hkda23' -H 'token=1hdaj23dhk23' https://www.target.com

10. 参数打印服务器响应的标头

-i

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

11. 跳过SSL检测

-k

curl -k https://www.target.com

12. 模拟慢网络环境,限制请求和响应带宽

–limit-rate

curl --limit-rate 300k https://www.baidu.com

13. 保存响应到文件

-o 【小写的o】

curl -o target.txt  https://www.baidu.com

14. 保存响应到文件,但是以url最后部分当文件名

-O【大写的O】

curl -O https://www.baidu.com/static/1.img

那么保存的文件名为1.img

15. 设置服务器认证的用户名和密码

-u

curl -u 'admin:12345' https://www.target.com

16. 输出整个通信过程,用于调试程序

-v

curl -v https://www.target.com

17. 指定请求代理

-x 【小写的x】

curl -x https://www.baidu.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GEE问题——在使用sentienl数据云掩膜的时候发现出现中间连贯性的“条带”问题,如何解决?

简介 在使用sentienl+landsat数据掩膜的时候发现出现了中间连贯性的条带问题,如何解决?这里我们使用GEE出品的Landsat和sentinel数据的过程中,当我们进行云掩膜的时候出现了条带的问题。 问题 您注意到这个问题了吗? 我该如何消除它们(例如,在镶嵌前遮蔽瓦片最外层的 …

【零基础学数据结构】顺序表

目录 1.了解数据结构 什么是数据结构? 为什么要进行数据管理? 2.顺序表 顺序表概要解析: ​编辑顺序表的分类: 差别和使用优先度: 1.创建顺序表 1.1顺序表分为静态顺序表和动态顺序表 1.2顺序表的初始化…

【考研数学】打基础,张宇《30讲》还是武忠祥《基础篇》?

如果基础不好,并且已经听过了汤家凤老师的零基础课程,我建议再去听一听张宇30讲 因为张宇30讲讲的要比汤家凤的零基础更加进阶,主要是引导学生思考,主要是讲题比较多。武忠祥老师的课程其实也不错,张宇和武忠祥的主要…

Java入门学习Day04

本篇文章主要介绍了:如何输入数据、字符串拼接、自增自减运算符、类型转换(int,double等) CSDN:码银 公众号:码银学编程 一、键盘输入练习 Scanner是Java中的一个类,用于从控制台或文件中读…

如何搭建自动化测试平台

“自动化测试”有何优势? 具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。 可将任务自动化,能够解放人力去做更重要的工作。 自动化测试只需要部署好相应的场景,如高度复杂的使…

【CKA模拟题】StorageClass实战案例分析

Useful Resources: Storage Classes , Persistent Volumes Claim , Pods 题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetes Create a Storage Class named fast-storage with a provis…

用于无人机小型化设计的高精度温补晶振

用于无人机小型化设计的高精度温补晶振:TG2016SMN和TG2520SMN。无人机的发展可以说是非常的迅速,在安防,农业,交通,电力,直播等领域经常能看到无人机大显身手。无人机的应用场最是非常的广泛,功能更强&…

EVM Layer2 主流解决方案

深度解析主流 EVM Layer 2 解决方案:zk Rollups 和 Optimistic Rollups 随着以太坊网络的不断演进和 DeFi 生态系统的迅速增长,以太坊 Layer 2 解决方案日益受到关注。 其中,zk Rollups 和 Optimistic Rollups 作为两种备受瞩目的主流 EVM&…

【学习】成为优秀的软件测试工程师需要学哪些知识

成为软件测试工程师,需要学习的内容非常的多,但是无非是这几大类,今天就和小编一起来看看这些知识,你是否都已经掌握。 01、测试环境的搭建 本部分主要是学习从操作系统开始,有关的计算机基础知识、软件和硬件知识、…

Python基于深度学习的人脸识别项目源码+演示视频,利用OpenCV进行人脸检测与识别 preview

​ 一、原理介绍 该人脸识别实例是一个基于深度学习和计算机视觉技术的应用,主要利用OpenCV和Python作为开发工具。系统采用了一系列算法和技术,其中包括以下几个关键步骤: 图像预处理:首先,对输入图像进行预处理&am…

[Leetcode笔记] 动态规划相关

前言 写题目写到了一些和动态规划相关的内容,所以在这里记录一下 LCR 089 题解思路 总的来说,就是用一个数组去存储当前的最优解,然后从0开始一路向上顺推过去,求得最后一位的最优解。 class Solution { public:int rob(vect…

CAD绘制A1图框的技巧

CAD如何绘制A1图框?这里给大家介绍下: 输入REC,绘制矩形第一点 输入D并输入841,594 文章源自四五设计网-https://www.45te.com/44546.html 输入O,框选图框,将其偏移10文章源自四五设计网-https://www.45te.com/44546…

mysql 判断一张表是否存在的方法

查询表是否存在 使用 SHOW TABLES SHOW TABLES LIKE %tbl_tabl%;结果: 查询 INFORMATION_SCHEMA // like 匹配 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA test AND TABLE_NAME like %tbl%; // 完全匹配 SELECT TABLE_NAME FROM INFORMATION_SC…

OSPF实验1

1,配置IP地址 [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 200.1.1.1/24 up up GigabitEthernet0/0/1 10.1.1.1/24 up …

车载通信与DDS标准解读系列(4):DDSI-RTPS协议

▎什么是RTPS 在DDS协议中,主要描述了实现数据分发服务的DCPS模型和QoS策略,但是我们还不清楚数据怎样在网络中传输,想要了解这些内容,就需要请出咱们的数据搬运工——RTPS。 RTPS全称是Real-Time Publish-Subscribe Protocol&a…

8.java openCV4.x 入门-Mat之多维元组(Tuple)

专栏简介 💒个人主页 📰专栏目录 点击上方查看更多内容 📖心灵鸡汤📖我们唯一拥有的就是今天,唯一能把握的也是今天建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫 🧭文…

【原创教程】EPLAN中伺服的制图方法

首先在EPLAN里制作伺服之前,需要有伺服的手册,根据手册里的各个引脚号的说明来制图,这里我们讲解西门子和三菱这两种品牌型号的。 1、下图是西门子的伺服,型号为:6SL3040-1LA01-0AA0 2、第一步我们需要绘制出黑盒来表示伺服的整体外框 选择插入—盒子—黑盒 3、在图纸…

ansible-自动化工具

一、ansible概述 不是C/S架构,就是一种工具 1:linux自动化运维 编写程序实现运维自动化:shell python 工具模式自动化: ①OS Provisioning: RedHat satellite;PXE(可实现dhcp和tftp&#…

cache/TLB里分别都有什么?

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 cache cache里都有什么? 或者问cache line(即每个entry)里都有什么? 答案是 : TAG DATA invalid bit dirty bit 那么TAG里又都…

归并排序和分治

归并排序 归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 分而治之 可以看到这种结构…