【问题标题】:What request headers are required for a POST containing XML?包含 XML 的 POST 需要哪些请求标头?
【发布时间】:2015-05-22 03:23:32
【问题描述】:

从 Excel VBA,我正在 POST 到一个将 XML 作为参数之一的 API。

除非 XML 中有 & 符号,否则它可以正常工作。 我已将它们转义到 &,但我仍然从 API 收到错误消息,告诉我存在不允许的字符。

我使用的标题如下:

setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

我发布的 XML 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <row>
        <column id="747">ALROS TRAVEL &amp; HOLIDAY CO.</column>
        <column id="748">73318</column>
        <column id="749"/>
        <column id="750"/>
    </row>
</xml>

根据我的测试,似乎是 & 导致了问题。

我已经通过他们的测试工具测试了 XML,它工作正常,所以我认为请求标头是问题。

我已要求 API 开发人员检查他们从我的 POST 中收到的内容,并且它似乎在 & 出现时立即被切断(即使它被转义了)。

我能得出的唯一结论是我使用了错误的请求标头,或者我应该以不同的方式发布 XML。

他们的测试工具是一个使用“multipart/form-data”的 HTML 表单,但我似乎无法从 VBA 使用它,或者我收到“未检测到身份验证信息”消息。

有人知道我做错了什么吗?

谢谢

【问题讨论】:

  • 您是否尝试过将节点包装在 CDATA 标记中?
  • 尝试建议的解决方案here
  • 谢谢大家,信不信由你@dePatinkin 链接页面上的最后一条评论给了我答案。我不得不使用 %26amp%3B

标签: xml excel vba post httprequest


【解决方案1】:

谢谢大家,信不信由你@dePatinkin 链接页面上的最后一条评论给了我答案。我不得不使用 %26amp%3B

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2014-12-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多