從Excel VBA中,我將POST發送到將XML作爲參數之一的API。包含XML的POST需要哪些請求標頭?
它工作正常,除非在XML中有和號(&)。 我已將他們轉移到&
,但我仍然從API中收到錯誤,告訴我存在不允許的字符。
我使用的標題如下:
setRequestHeader( 「Content-Type的」, 「應用程序/ x-WWW的形式,進行了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,它工作正常,所以我認爲請求頭是問題。
我已經要求API開發人員檢查他們從我的POST中收到了什麼,並且一旦出現&(即使它已被轉義),它似乎立即被切斷。
我可以得出的唯一結論是我使用了錯誤的請求標題,或者我應該以不同的方式發佈XML。
他們的測試工具是一個HTML表單,它使用「multipart/form-data」,但我似乎無法使用VBA中的數據,或者我收到「No authentication information is detected」消息。
有誰知道我可能做錯了什麼?
感謝
你有沒有試過用CDATA標籤包裝節點? <![CDATA [data goes here]]> – Lance
試試建議的解決方案[here](http://stackoverflow.com/questions/1328538/how-do-i-escape-ampersands-in-xml) – dePatinkin
謝謝你們,信不信由於@dePatinkin鏈接上最後的評論給了我答案。我不得不使用%26amp%3B – LanceM