Curl命令POST请求

curl工具介绍:

       CURL是一个利用URL语法在命令行下工作的文件传输工具,被广泛应用在Unix、Linux发行版中,并且有DOS和Win32、Win64的移植版本。同时它还支持诸多的通信协议(我们常用的有HTTP、HTTPS、FTP、SMTP、TELNET等)。

       我们可以使用它进行HTTP POST、HTTP PUT、FTP上传、cookies、用户认证、IP代理、网页下载等常用功能。

本文重点:

       本文主要对curl功能中的HTTP POST进行介绍,主要用于在linux环境下进行接口测试或现场联调。(在windows环境下,我们可以采用postman等请求工具代替)

坑点:

windows下的curl工具,在引号,中文等问题上,有很多坑,建议使用linux下的curl。

常见curl POST请求示例:

1. 请求参数为json数据

curl -i -H "Content-Type:application/json" -X POST -d '{"XXX":"xxx"}' http://localhost:18080/test

2.请求参数为表单数据

curl -i -d "symbol=sz000001&scale=5&ma=5&datalen=1" -X POST http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData

常用命令选项解释:

         上面请求示例中的 -i 是为了获取返回的请求头信息。如图

        

-i 、-I (大写i)、-v 的作用有相同之处。

-v是verbose的意思,意为啰嗦的,唠叨的,它能输出整个请求过程,请求头,响应头,响应结果等一系列信息。

-i 是include的意思,返回响应结果的同时返回响应头。

-I 是 仅返回响应头

-----------------------------------------------------------------------------------------------------------------------------------------

-H 是header的意思,可以自定义要发送到服务端的请求头。如-H "Content-Type:application/json"

-X (大写x)表示使用指定的请求方式。如果不清楚默认请求方式时建议指定请求方式。如 -X POST

-d 表示data,表示请求的数据,如 -d  {\"XXX\":\"xxx\"} 

windows下注意点(linux忽略):

1. json格式的数据需要进行转义,转成字符串的形式。如果请求参数为 -d  '{"XXX":"xxx"}' 有时会报400,bad request,后台无法接受数据,需转义为 "{\"XXX\":\"xxx\"}" 的格式。

说“有时“的原因是我用windows下的curl工具执行:

curl -i -H "Content-Type:application/json" -d '{"order":"201904171408425095"}' http://192.168.149.71/test

报400错误,同样的命令在linux下执行,正确。所以在测试命令的时候,建议在linux下的curl执行。

2.如果json数据包含中文,可以采用json文件的形式 (在windows下有这个问题,在linux下测试,不需要对中文处理也行)

curl -i -H "Content-Type:application/json;charset=utf-8" -X POST -d @itemdata.json  http://localhost:18080/test

itemdata.json是curl的bin目录的文件,文件中的json为正常json。或者将要传的中文转换为base64的格式替换。

拓展:

1、IP代理,在对方服务器把你IP屏蔽掉时用。

curl -x 10.10.90.83:80 -o home.html http://www.sina.com.cn

-x (小写x) 相应的代理IP。 -o filename 表示将目标网页下载到filename的路径下,仅有名字表示的根目录下,一般在curl的bin目录下。

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

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

相关文章

网站ICP备案和公安备案教程

由于最近华为云那边的服务器到期了,而续费的价格比较贵一点,刚好阿里云这边有活动就入手了一台,但是将网站迁移过来后发现又要进行ICP备案,那就备案呗。但是备案完成之后发现还有一个公安备案,真让人头大啊... 很多人也…

vue3dLoader Cannot read properties of null (reading ‘setCrossOrigin‘)“这个报错怎么解决?

默认情况下crossOrigin默认值是“anonymous” 如果出现报错的情况 请设置crossOrigin为空字符串即可。如&#xff1a; <vue3dLoader crossOrigin""> 相关阅读 推荐&#xff1a;vue-3d-loader支持.dae/.fbx/.gltf/.glb/.obj/.ply/.stl/.json&#xff0c;并支…

Java基础到高级:锁的全面解析与实践

前言 在项目开发过程中&#xff0c;当需要使用多线程去处理一些业务问题的时候&#xff0c;尤其涉及到多线程读写数据同时发生的操作时&#xff0c;就会产生一些线程安全的问题。那如何理解线程安全问题呢&#xff1f; 线程安全问题是指多线程环境中&#xff0c;由于存在数据…

Python入门-面向对象

1.类和对象 是不是很熟悉&#xff1f;和Java一样&#xff0c;在Python中&#xff0c;都可以把万物看成(封装成)对象。它俩都是面向对象编程 1.1 查看对象数据类型 a 10 b 9.8 c helloprint(type(a)) print(type(b)) print(type(c))运行结果&#xff1a; D:\Python_Home\v…

k8s-调度 13

调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。 kube-scheduler 是 Kubernetes 集群的默认调度器&#xff0c;并且是集群控制面的一部分。 如果你真的希望或者有…

C#上位机与欧姆龙PLC的通信11----【爆肝】上位机应用开发(Winform版)

1、先上图 前面10讲&#xff0c;让你爽煹了肝&#xff0c;已经进入最后收尾阶段&#xff0c;这节来个常规应用&#xff0c;让前面的技能直接飞上天&#xff0c;我们要做的界面软件是这样的&#xff0c;虽然没有潘金莲漂亮&#xff0c;但也是爆抱&#xff1a; 2、如何爆&#x…

爬虫到底违法吗?你离违法还有多远?

最近&#xff0c;国家依法查处了部分编写爬虫程序&#xff0c;盗取其他公司数据的不良企业。一时间风声鹤唳&#xff0c;关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢&#xff1f; 其爬虫下载数据&#xff0c;一般而言都不违法&#xff0c;因为…

【机器学习】模型调参工具:Hyperopt 使用指南

机器学习| 模型调参工具&#xff1a;Hyperopt 使用指南 前言1. Hyperopt是什么&#xff1f;2. Hyperopt的优缺点3. 如何使用 Hyperopt 进行调参3.1 安装 Hyperopt3.2 构建超参数空间3.3 定义目标函数3.4 运行 Hyperopt 优化3.5 获取最优超参数 4. XGB调参代码示例参考资料 前言…

Hyperledger Fabric Docker 方式多机部署生产网络

规划网络拓扑 3 个 orderer 节点&#xff1b;组织 org1 , org1 下有两个 peer 节点&#xff0c; peer0 和 peer1; 组织 org2 , org2 下有两个 peer 节点&#xff0c; peer0 和 peer1; 因为我只有 3 台虚拟机资源所以没法实现完全的多机部署&#xff0c;资源使用规划如下&#…

智能分析网关V4方案:太阳能+4G+AI识别搭建智慧果园/种植园远程视频监控监管方案

一、方案背景 我国是水果生产大国&#xff0c;果园种植面积大、产量高。由于果园的位置大都相对偏远、面积较大、看守人员较少&#xff0c;值守的工作人员无法顾及园区每个角落&#xff0c;果园财产安全成为了关注的重点。人为偷盗、野生生物偷吃等事件时有发生&#xff0c;并…

磷酸铁锂电池生产污废水需要哪些工艺及设备

磷酸铁锂电池作为一种常见的锂离子电池&#xff0c;已广泛应用于电动汽车、储能系统等领域。然而&#xff0c;在磷酸铁锂电池的生产过程中&#xff0c;难免会产生一定量的污废水。为了有效处理和处理这些污废水&#xff0c;我们需要合适的工艺和设备。 首先&#xff0c;针对磷酸…

制造业卓越管理从6S管理开始

在当今制造业环境中&#xff0c;企业间的竞争愈发激烈&#xff0c;而管理水平的卓越与否&#xff0c;直接决定了企业在市场竞争中的地位和成功与否。管理并非一蹴而就&#xff0c;需要经过不断的实践和探索&#xff0c;逐步提升。其中&#xff0c;6S管理作为现代企业管理的基础…

Ubuntu 卸载重装 Nvidia 显卡驱动

问题描述 我使用 airsim 的时候&#xff0c;发现 UE4 没法使用显卡&#xff0c;导致非常卡顿 输入 nvidia-smi 有显卡型号等信息的输出&#xff0c;但是进程 process 里面没有显示 airsim 和其他软件占用显卡情况 因此&#xff0c;我选择了卸载重装 一.卸载旧版本的驱动 …

内容分发功能升级!一站式搞定文案生成/违规检测/一键分发全流程

随着社交媒体的不断发展&#xff0c;越来越多的企业开始布局新媒体矩阵&#xff0c;从集团总部到区域门店、个人销售&#xff0c;从全品类到细分垂直类目、从单一平台到多平台&#xff0c;试图让品牌影响力覆盖更广泛群体&#xff0c; 当然&#xff0c;随之而来的&#xff0c;如…

深度学习”和“多层神经网络”的区别

在讨论深度学习与多层神经网络之间的差异时&#xff0c;我们必须首先理解它们各自是什么以及它们在计算机科学和人工智能领域的角色。 深度学习是一种机器学习的子集&#xff0c;它使用了人工神经网络的架构。深度学习的核心思想是模拟人脑神经元的工作方式&#xff0c;以建立…

RuntimeError: Placeholder storage has not been allocated on MPS device!解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Web安全测试基础

SQL注入 当下最常用的一个攻击手段&#xff0c;就是通过SQL命令插入到Web表单中或页面请求查询字符串中&#xff0c;最终达到欺骗服务器执行恶意的SQL语句的目的&#xff0c;SQL注入一旦成功&#xff0c;轻则直接绕开服务器验证&#xff0c;直接登录成功&#xff0c;重则将服务…

【Flutter 开发实战】Dart 基础篇:条件循环表达式

Dart 是一门强大的编程语言&#xff0c;其条件和循环表达式在编写灵活、高效代码中起着关键作用。本文将深入介绍 Dart 中的条件表达式、循环表达式、以及关键字如 for、while、do...while、break、continue 等内容&#xff0c;旨在为初学者提供清晰的指导。 1. 条件表达式 D…

Netty开篇——BIO章(二)

Java BIO 基本介绍 属于传统的 java io编程&#xff0c;内容见java.io包中BIO(blocking I/O) : 同步阻塞&#xff0c;服务器实现模式为个连接一个线程&#xff0c;即客户端有连接请求时服务器端就需要启动一个线程进行处理&#xff0c;如果这个连接不做任何事情会造成不必要的线…

数字化转型的关键:JVS低代码的列表页导入功能解析

在当今数字化时代&#xff0c;数据的管理和迁移变得至关重要。为了满足广大用户的需求&#xff0c;JVS低代码精心打造了“列表页导入功能”。这个功能专为高效处理列表页数据而设计&#xff0c;为用户提供了简单、便捷的数据导入、导出和模板下载服务。 列表页导入功能 列表页…