通过cURL发布zip文件会得到二进制输出
我正在使用一个虚拟化软件,它允许我用POST请求更新正在运行的虚拟服务。post请求通过web浏览器中提供的UI完成时有效。它还在网页上生成curl命令通过cURL发布zip文件会得到二进制输出,curl,post,zip,multipartform-data,binaryfiles,Curl,Post,Zip,Multipartform Data,Binaryfiles,我正在使用一个虚拟化软件,它允许我用POST请求更新正在运行的虚拟服务。post请求通过web浏览器中提供的UI完成时有效。它还在网页上生成curl命令 curl -X POST "http://localhost:1505/lisa-virtualize-invoke/api/v3/vses/VSE/services/API_Test_22" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "d
curl -X POST "http://localhost:1505/lisa-virtualize-invoke/api/v3/vses/VSE/services/API_Test_22" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "deploy=true" -F "inputFile1=@updateCustomer.zip;type=application/x-zip-compressed"
但是,当我尝试在bash中使用提供的curl命令时,它不起作用。我需要能够使用Jenkins文件的curl
我尝试过“inputFile1”的不同变体,如:
-F "inputFile1=@updateCustomer.zip;type=application/x-zip-compressed"
-F "inputFile1=@updateCustomer.zip"
在GitBash中,我得到一个乱七八糟的非ASCII字符作为输出
在Ubuntu终端中,我得到一个不同的错误:
curl -X POST -H "authorization: Basic xxx" "http://10.0.2.2:1505/lisa-virtualize-invoke/api/v3/vses/VSE/services/API_Test_22" -H "accept: application/zip" -H "Content-Type: multipart/form-data" -F "deploy=true" -F "inputFile1=@\"updateCustomer.zip\""
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
二进制输出是由-H“accept:application/zip”引起的。用-H“accept:application/json”替换后,我不再有这个问题。二进制输出是由-H“accept:application/zip”引起的。将其替换为-H“accept:application/json”后,我不再有此问题。
-H“Content Type:multipart/form data”
-该标头不完整,缺少边界。标题应该类似于内容类型:多部分/表单数据;边界=---------------------------5469ff03b90ec969
。。而curl应该自动生成它,您不应该自己设置它。至于乱七八糟的二进制数据,您发送头-H“accept:application/zip”
,它告诉服务器我想要gzip格式的响应,这是一种二进制格式。。你的第二条评论是对我问题的回答,当改为-H“accept:application/zip”时,它似乎运行良好,请将你的评论作为回答发布,以便我可以接受:)不,据我所知,问题可能是你没有引用你的论点。我会让其他人回答这个问题对不起,我在之前的评论中犯了一个错误,我想写的是,我将您所说的错误部分改为-H“accept:application/json”,这使它能够工作-H“Content Type:multipart/form data”
-该标题不完整,缺少边界。标题应该类似于内容类型:多部分/表单数据;边界=---------------------------5469ff03b90ec969
。。而curl应该自动生成它,您不应该自己设置它。至于乱七八糟的二进制数据,您发送头-H“accept:application/zip”
,它告诉服务器我想要gzip格式的响应,这是一种二进制格式。。你的第二条评论是对我问题的回答,当改为-H“accept:application/zip”时,它似乎运行良好,请将你的评论作为回答发布,以便我可以接受:)不,据我所知,问题可能是你没有引用你的论点。我会让其他人回答这个问题对不起,我在之前的评论中犯了一个错误,我想写下,我将您所说的错误部分改为-H“accept:application/json”,这使它能够工作
+ curl -X POST -H authorization: Basic xxx http://10.0.2.2:1505/lisa-virtualize-invoke/api/v3/vses/VSE/services/API_Test_22 -H accept: application/zip -H Content-Type: multipart/form-data -F deploy=true -F inputFile1=@updateCustomer.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 63261 0 0 100 63261 0 52325 0:00:01 0:00:01 --:--:-- 52325
100 63261 0 0 100 63261 0 28599 0:00:02 0:00:02 --:--:-- 28599
100 63261 0 0 100 63261 0 19682 0:00:03 0:00:03 --:--:-- 19689
100 63261 0 0 100 63261 0 15004 0:00:04 0:00:04 --:--:-- 15008
100 63261 0 0 100 63261 0 12121 0:00:05 0:00:05 --:--:-- 12121
100 63261 0 0 100 63261 0 10165 0:00:06 0:00:06 --:--:-- 0
100 63971 0 710 100 63261 103 9220 0:00:06 0:00:06 --:--:-- 152PK�S�N .maraudit����n�q�w � �4���g���ؤ��(�T�l�o @�1r�~����} &-������U�ƨ���������>���������o�_��g��W�����?���_~�����?��7��~˟����7�����7����?���_�~�B��?��/b����2��h���C�!���������������/ ...