【问题标题】:PHP libxml2 entity invalid URLPHP libxml2 实体无效的 URL
【发布时间】:2018-07-07 16:49:07
【问题描述】:

我正在尝试访问 libxml2 中的外部实体,但是当 URL 包含像 <whitespace 这样的特殊字符时,解析失败。这是示例网址

<!ENTITY fe SYSTEM "http://127.0.0.1/echo.php?a=<?xml ?>">

谁能帮我解决这个问题?

【问题讨论】:

  • 你能修改那个xml文件吗?
  • 我不确定我是否理解。
  • 您的问题不清楚。您能否向我们展示带有这样一个外部实体和您的 PHP 代码的 XML 文件示例?或者您是否正在尝试创建 XML 文件?您很可能需要转换特殊字符,例如&amp; =&gt; &amp;amp; 或双引号 " =&gt; &amp;quot;

标签: php libxml2


【解决方案1】:

在创建 xml 文件之前,您需要对您的网址进行编码。 urlencode doc

或者请使用&lt;![CDATA[your url here]]&gt;

CDATA doc

【讨论】:

  • 我确实想到了,但是Web服务器(接收端)不理解URL编码。
  • CDATA 不起作用,甚至尝试使用参数值,但放入 %param;仍然给出无效的 URL 错误。
  • @Tios 接收端使用的是 http 协议,所以它必须理解 URL 编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 2021-02-05
  • 2018-10-18
相关资源
最近更新 更多