点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好!
我尝试为SAP CPI构建DevOps。 为此,我需要将iFlow下载到本地计算机。 我发送了API REST请求 https://host.com/api/v1/IntegrationDesigntimeArtifacts(Id ='someId',Version ='1.0.0')/$ value 并以二进制数据形式获得响应。 (内容已被主持人删除)
在标题中,我看到了Content-Type→应用程序/zip。 数据是zip文件。
我需要将响应写入文件并解压缩文件以浏览其中的文件。
有人知道谁可以用Java或python来获得它吗? 每次尝试时-我的存档已损坏
我曾尝试通过httprequest方法在Jenkins中实现。 该方法可能响应已损坏。 我已经用python完成了
我的下面的代码
响应= request.get(URL,标头=标头,流=真)
以open("%s/flow.zip"%(workspace),'wb')作为f:
responce.raw.decode_content =真
shutil.copyfileobj(responce.raw,f)
嗨,瓦迪姆,
为了提供帮助,最好提供一些源代码和您面临的错误。
可以使用多种方式(类)将文件资源下载为zip文件(二进制)。 。
二进制文件损坏的原因也可能与浏览器缓存或代理设置有关。
请提供有关您的操作方式的更多详细信息。
关于,
伊万
嗨,瓦迪姆,
很遗憾,我没有租户访问权限,无法重现您的确切错误。
我能做的是在Linux中使用cURL bash命令以zip格式下载设计时间,这可以在Jenkins脚本中使用。
检索zip文件的命令可能很简单:
注意:您必须使用正确的api路径替换URL。 我要显示的是Web UI用于下载工件的URL。 我是通过进入Chrome开发者工具(F12)上的"网络"标签并通过右键单击请求将网址复制为curl(bash)来实现的。 不要忘记apikey标头参数,否则请使用身份验证参数将您的编码密码发送到服务。
现在,为了进行编码(如果这更多的话,则是您的事情)。 以下Python代码对我有用。
因此,它应该适合您的用例。 您使用的是基本身份验证还是API密钥?
或者,我还可以使用Python通过其他几种方式下载文件,例如:
和:
更不用说在Java上使用Spring Boot Starter Web了:
没有任何情况使用返回二进制数据的REST服务。 但是,无论基础协议/接口如何,它们都应该起作用。
可能会将您将结果视为String而不是字节数组。
关于,
伊凡
感谢您的回答! 这非常有用
一周热门 更多>