linux 如何使用curl发布原始身体数据?

omqzjyyz  于 2023-05-06  发布在  Linux
关注(0)|答案(1)|浏览(189)

在你把这个作为副本发布之前;我已经尝试了我在SO周围找到的许多建议。
到目前为止,我一直在使用postman将数据发布到JavaWeb服务。它的工作原理如下:

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

$ 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/

不幸的是,所有这些都显示了一个空的原始身体在接收端。
有人知道我哪里做错了吗?我的curl请求与我的postman请求有什么不同?欢迎所有提示!

bcs8qyzn

bcs8qyzn1#

默认情况下,curl的--data将在请求头中发送Content-Type: application/x-www-form-urlencoded。但是,当使用Postman的raw主体模式时,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发送的所有请求:

相关问题