xmllint不能使用https - 警告:无法加载外部实体

时间:2016-07-27 02:44:10

标签: xmllint

xmllint可以正常使用http://somesite.xml

但它不适用于https://somesite.xml

xmllint https://somesite.xml
warning: failed to load external entity "https://somesite.xml"

1 个答案:

答案 0 :(得分:1)

作为一种解决方法,您可以使用curlwget之类的其他实用程序先下载文件,然后将其通过管道传输到xmllint

curl --silent "https://somesite.xml" | xmllint -

注意:

  • -的文件参数使用xmllint(“连字符/减号”)从标准输入流而不是文件或URL获取XML输入。
  • 您可能想使用--silent-s来抑制curl进度/错误消息,以防止xmllint对其进行解析。
  • 如果URL包含特殊字符,则可能需要在URL周围加引号。

应该适用于xmllint通过HTTPS的XML输入,但不能确定DTD或模式;可能需要先使用单独的命令将其下载到本地文件。