在你将其作为副本发布之前;我已经try 了很多我在这里找到的建议.

到目前为止,我一直在使用postman将数据发布到Java web服务.它的工作原理如下:

enter image description here

我现在想用curl做同样的事情,所以我try 了以下方法:

$ curl -X POST --data "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "this is raw data" http://78.41.xx.xx:7778/
$ curl -X POST --data "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/
$ curl -X POST --data-binary "@/home/kramer65/afile.txt" http://78.41.xx.xx:7778/

不幸的是,所有这些都显示出接收端有一个空的原始身体.

有人知道我做错了什么吗?我的卷发要求和postman 的要求有何不同?欢迎所有提示!

推荐答案

curl的--data默认情况下会在请求头中发送Content-Type: application/x-www-form-urlencoded.然而,当使用Postman的raw body模式时,Postman在请求头中发送Content-Type: text/plain.

因此,要实现与postman 相同的效果,请为curl指定-H "Content-Type: text/plain":

curl -X POST -H "Content-Type: text/plain" --data "this is raw data" http://78.41.xx.xx:7778/

请注意,如果您想观看postman 发送的完整请求,可以启用打包应用程序的调试.判断this link查看所有说明.然后,您可以查看应用程序(在"postman "中单击鼠标右键),并在network选项卡中查看postman 发送的所有请求:

enter image description here

Linux相关问答推荐

创建守护进程时打开0,1,2描述符

PERF显示不应该执行指令的内核的用户空间周期

Shell 脚本程序 - 从日志(log)文件中过滤磁盘空间利用率超过 80% 的行

Git - 打印以不同编码混合的文件

/proc/mounts 没有像 /proc/self/mountinfo 这样的源信息

如何修复 script(1) 实用程序输出的换行符?

为什么rsp寄存器从0x7FFFFFFFDFD0开始

docker rm 命令在具有相同操作系统的不同机器上返回不同的状态码

如何使用 sed debug调试正则表达式?

跨多台计算机管理用户配置文件

如何使用多个版本的 GCC

如何在 Linux 中设置目录大小限制?

如何从命令行打开 Ubuntu Linux 上的 AVD 管理器?

如何知道是否有足够的内存可以在 Linux 机器上部署新应用程序?

*nix 系统上是否有与 COM 等效的功能?如果不是,那么 *nix 的可重用性方法是什么?

try 使用 sudo 将文件附加到根拥有的文件时权限被拒绝

为什么两次使用 grep 时没有显示输出?

CentOS:在 PHP 安装中启用 GD 支持

当我已经 ssh 进入远程机器时,如何 scp 回到本地?

如何制作和应用SVN补丁?