包含 XML 的 POST 需要什么请求 headers?
What request headers are required for a POST containing XML?
从 Excel VBA,我正在 POSTing 到一个 API,它将 XML 作为参数之一。
它工作正常,除非 XML 中有符号 (&)。
我已将它们转义到 &
,但我仍然从 API 返回错误,告诉我有不允许的字符。
我正在使用 header 如下:
setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
我发布的 XML 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<row>
<column id="747">ALROS TRAVEL & HOLIDAY CO.</column>
<column id="748">73318</column>
<column id="749"/>
<column id="750"/>
</row>
</xml>
根据我的测试,& 似乎是导致问题的原因。
我已经通过他们的测试工具测试了 XML,它工作正常,所以我认为请求 header 是问题所在。
我已经要求 API 开发人员检查他们从我的 POST 那里收到了什么,它似乎在 & 出现时就被切断了(即使它被转义了)。
我能得出的唯一结论是我使用了错误的请求 header,或者我应该以不同的方式发布 XML。
他们的测试工具是一个 HTML 表格,它使用 "multipart/form-data" 但我似乎无法使用 VBA 的表格,或者我收到 "No authentication information is detected" 消息。
有谁知道我可能做错了什么?
谢谢
谢谢大家,不管你信不信@dePatinkin 页面上的最后一条评论 link 给了我答案。我不得不使用 %26amp%3B
从 Excel VBA,我正在 POSTing 到一个 API,它将 XML 作为参数之一。
它工作正常,除非 XML 中有符号 (&)。
我已将它们转义到 &
,但我仍然从 API 返回错误,告诉我有不允许的字符。
我正在使用 header 如下:
setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
我发布的 XML 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<row>
<column id="747">ALROS TRAVEL & HOLIDAY CO.</column>
<column id="748">73318</column>
<column id="749"/>
<column id="750"/>
</row>
</xml>
根据我的测试,& 似乎是导致问题的原因。
我已经通过他们的测试工具测试了 XML,它工作正常,所以我认为请求 header 是问题所在。
我已经要求 API 开发人员检查他们从我的 POST 那里收到了什么,它似乎在 & 出现时就被切断了(即使它被转义了)。
我能得出的唯一结论是我使用了错误的请求 header,或者我应该以不同的方式发布 XML。
他们的测试工具是一个 HTML 表格,它使用 "multipart/form-data" 但我似乎无法使用 VBA 的表格,或者我收到 "No authentication information is detected" 消息。
有谁知道我可能做错了什么?
谢谢
谢谢大家,不管你信不信@dePatinkin 页面上的最后一条评论 link 给了我答案。我不得不使用 %26amp%3B