gpt4 book ai didi

java - java中的CURL REST命令,指定了 header 但仍然收到415不支持的媒体类型

转载 作者:行者123 更新时间:2023-12-02 02:55:06 24 4
gpt4 key购买 nike

我尝试通过使用 Java Process Runtime 发送 CURL 命令来发送 REST 请求,代码如下:

Process p = Runtime.getRuntime().exec("curl -i --user user_name:password -H \"Content-Type: application/json\" -X PUT url_without_quote -d @/home/user_name/put_content.json");  

但是,即使指定了 header ,我也收到 415 不支持的媒体类型。我已经在终端中尝试了上述命令,它可以正常工作,返回代码为 200。我还尝试了在curl命令中使用相同选项的GET请求,但没有PUT请求的-d内容,它返回200,并且GET正确的响应内容。

这很奇怪,因为相同的命令在终端中有效,但在 java 进程运行代码中失败。

您是否遇到过同样的问题或有解决办法吗?

我怀疑是否需要为 PUT REST 请求指定一些额外的 header ,或者“Content-Type: application/json”的字符大小写是否重要?

最佳答案

经过一些尝试,效果如下:

Process p = Runtime.getRuntime().exec("curl -i --user user_name:password -H Content-Type:application/json -X PUT url_without_quote -d @/home/user_name/put_content.json");

从其他讨论线程来看,建议应用程序应该遵循“:”字符,不带任何空格字符,并且不需要指定双引号。

现在这对我来说效果很好!感谢以上评论!

关于java - java中的CURL REST命令,指定了 header 但仍然收到415不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43233139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com