gpt4 book ai didi

java - 如何在 Jenkins 中使用二进制文件执行 HTTP POST?

转载 作者:行者123 更新时间:2023-12-04 15:49:36 25 4
gpt4 key购买 nike

我想执行一个二进制文件的 HTTP POST,就像我在 Postman 中那样:

enter image description here

注意这里我选择了 HTTP Post,带有二进制选项,并标记了我的文件“splop.sar”。

服务器回复 http 409,这符合我的用例。

我在 Jenkins 中的尝试如下,使用 httpRequest插件:

def myFile = readFile("splop.sar")
httpRequest authentication: 'userdef', consoleLogResponseBody: true, contentType: 'APPLICATION_ZIP', httpMode: 'POST', requestBody: myFile, responseHandle: 'NONE', url: 'myurl.com/service'

问题是,我的后端服务器拒绝了无效的请求,毫无疑问这里的编码失败了。我已经尝试过替代方案,例如:

def myFile = readFile("splop.sar").bytes

这也失败了,还有:

def myFile = readFile("splop.sar").bytes.toString()

这也失败了!

我可以在 Jenkins 中做些什么来提供与 postman 从我的管道中提供的相同风格的 HTTP Post?我相信这里最大的区别是什么使 POST 请求成为“二进制”帖子,而不是其他形式?

最佳答案

我不认为你可以用 http-request-plugin 做到这一点,有一个 open bug for that .

你绝对可以用 curl 做到这一点 - Send POST Request with Data Specified in File via Curl

curl -i -X POST host:port/post-file \
-H "Content-Type: text/xml" \
--data-binary "@path/to/file"

关于java - 如何在 Jenkins 中使用二进制文件执行 HTTP POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54414072/

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