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

les*_*nar 0 shell command-line curl

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

$ curl -i -H "Accept: application/xml"  -X GET "URL Here"
Run Code Online (Sandbox Code Playgroud)

但响应不是 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>
Run Code Online (Sandbox Code Playgroud)

当我使用一些 REST 客户端尝试相同的 API 时,我可以看到正确的 xml。

正如我搜索的那样,接受标头应该可以工作,但不幸的是在我的情况下不行。

请在这件事上给予我帮助。

谢谢。

Der*_*lin 6

如果您所说的“不正确”是指响应打印得不漂亮(即缺少空格和缩进),那么有很多命令行工具可以格式化 xml。

例如:

curl ... | xmllint --format -
Run Code Online (Sandbox Code Playgroud)

在这里,您将curl 的响应传递给( xmllib2-utilsxmllint的一部分),这将格式化您的答案。最后告诉工具从 stdin 读取输入(即管道内容)。-

看看这个问题,了解更多实现它的方法。