shell curl 请求:使用curl请求的响应格式不正确(xml)

sqxo8psd  于 2023-03-09  发布在  Shell
关注(0)|答案(1)|浏览(180)

我正在使用curl从远程加载xml作为字符串,如下所示:

$ curl -i -H "Accept: application/xml"  -X GET "URL Here"

但是响应不是XML格式,因此不容易读取。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RunConfig <PipeLineXmlVersion>1.0</PipeLineXmlVersion><DateTime>20161128_160859</DateTime><Analysis><Lane>1</Lane><PipeLine>run_multiplexed_auto_start_v4.0.sh</PipeLine><Version>4.0</Version><Mismatch>1</Mismatch><MergeLane>0</MergeLane<Version>4.0</Version></Analysis></RunConfig>

当我使用一些REST客户端尝试相同的API时,我可以看到正确的xml。
正如我搜索,接受头应该工作,但不幸的是不是在我的情况下。
请帮我一下。
谢谢。

jhiyze9q

jhiyze9q1#

如果你所说的"不合适"是指响应打印得不好(例如缺少空格和缩进),那么有很多命令行工具可以格式化xml。
例如:

curl ... | xmllint --format -

这里,将curl的响应传递给xmllintxmllib2-utils的一部分),xmllint将格式化您的答案,最后的-告诉工具从stdin读取输入(即管道传输的内容)。
看看this question,了解更多实现它的方法。

相关问题