2

我的站点与远程 API 通信以同步数据库。我收到的数据是 XML 格式,1000 次中有 999 次是正确的 XML,我可以直接使用simplexml_load_string.

然而,1000 次中有 1 次我得到错误编码的 XML,如下图所示。

我必须以某种方式解析这个胡言乱语,因为尝试获取相同的记录将再次给出相同的结果。

如果您对如何转换有任何建议,请告诉我。我尝试了以下功能,但我不是解码专家,所以只是在黑暗中拍摄:

  • gzdeflate($result)
  • utf8_decode($result)
  • iconv("UTF-8", "UTF-8//IGNORE", $result)
  • base64_decode($result)
  • iconv(mb_detect_encoding($result, mb_detect_order(), true), "UTF-8", $result)

    编码错误

4

1 回答 1

1

BareNakedCoder 建议查看响应标头,答案就在那里:显然,此 api 的身份验证令牌过期非常快,即使在我的脚本执行期间也是如此。标题见附图。因此解决方案是每次发生这种情况时重新进行身份验证。

可惜 api 不只是在常规 XML 输出中这样说。

这发生在 Exact Online(会计软件)的 api 中,所以我将把它作为关键字添加到原始问题中。

标题

于 2015-12-24T21:23:50.423 回答