gpt4 book ai didi

rest - 无法在GROOVY脚本中使用CURL进行REST PUT调用

转载 作者:行者123 更新时间:2023-12-04 13:53:39 34 4
gpt4 key购买 nike

我正在尝试使用CURL做一个简单的PUT请求。很简单,它在终端上,但是无法在我的Groovy脚本中运行。

这是它的一个片段:

class Test {
//Throws 415 Cannot Consume Content Type
void testPUT () {
println "curl -i -X PUT -H \"Content-Type: application/json\" -d '{\"Key1\":1, \"Key2\":\"Value2\"}' http://<hostname>/foo/".execute().text
}

// Works Perfectly Fine
void testGET () {
println "curl -i -X GET -H \"Content-Type: application/json\" http://<hostname>/foo".execute().text
}
}

我还尝试使用三引号将命令括起来,例如:
 """curl -i -X PUT -H "Content-Type:application/json" -d '{"Key1":1,"Key2":"Value2"}' http://<hostname>/foo""".execute().text

我所有的尝试仅使415内容类型无法使用

当我仅在终端窗口上使用curl命令时,PUT和GET方法都可以正常工作。

我想念什么吗?任何帮助,将不胜感激!

谢谢你!

最佳答案

尝试使用字符串的列表变体,看看是否可行:

println ["curl", "-i", "-X PUT", "-H 'Content-Type:application/json'", "-d '{\"Key1\":1, \"Key2\":\"Value2\"}'", "http://<hostname>/foo/"].execute().text

我遇到了类似的问题,这是我找到解决问题的唯一方法。 Groovy会将字符串在每个空格处拆分为参数,我怀疑这会破坏Curl和-H参数对。通过将字符串放入list变体中,它将每个项目作为参数保持在一起。

关于rest - 无法在GROOVY脚本中使用CURL进行REST PUT调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8752965/

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