全部產品
Search
文件中心

:輕量訊息佇列(原 MNS)中使用PHP編寫HttpEndpoint介面時接收不到訊息體

更新時間:Sep 03, 2024

問題描述

輕量訊息佇列(原 MNS)中使用PHP編寫HttpEndpoint介面時接收不到訊息體。

問題原因

可能是因為PHP程式中使用了$_POST[]方法擷取HttpBody。$_POST[]方法只能接收如下Content-Type類型提交的資料,即表單POST過來的資料。

  • application/x-www-form-urlencoded

輕量訊息佇列(原 MNS)推送請求僅支援如下三種Content-Type的類型。

  • text/xml;charset=utf-8

  • text/plain;charset=utf-8

  • application/json;charset=utf-8

解決方案

檢查您的PHP代碼邏輯,是否直接使用$_POST[]方法擷取HttpBody。如果是,建議修改為如下方式。

file_get_contents("php://input");
說明

該方法允許讀取POST的未經處理資料,對於不同Content-Type的POST資料都可以使用,甚至對於未指定Type的資料,也可以用來擷取未經處理資料。

如果您的問題仍未解決,您可以在阿里雲社區免費諮詢

相關文檔

HttpEndpoint介面規範