收藏
回答

微信公众平台接口调试工具报错"post data error,please check your"?

开发工具 PHP 7.4,服务器华为云 + IIS10.0,有独立外网IP,想要在公众号上实现用自己的服务器回复用户发送的消息,现在碰到三种情况

在 php 接口处,能接受到来自微信服务器 post 到的内容,包括关注公众号、用户发送的文本消息,说明了接口接收post正常,并且能正常读取出 post 到的 xml 数据如下

<xml><ToUserName><![CDATA[gh_xxxxxxfd1]]></ToUserName>
<FromUserName><![CDATA[ojQexxxxxxxxxxxxxxxxxiYpo]]></FromUserName>
<CreateTime>1592463194</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[13]]></Content>
<MsgId>22798591295867026</MsgId>
</xml>

但根据官方文档给出的回复文本消息的要求,xml、"success"、"" 这三种回复都在测试公众号上被提示 "该公众号提供的服务出现故障,请稍候再试",以 xml 内容回复为例

function responseTextMessage($toUser, $fromUser, $content)
{
    $xmlRespModel = '<xml>';
    $xmlRespModel .= "<ToUserName><![CDATA[%s]]></ToUserName>";
    $xmlRespModel .= "<FromUserName><![CDATA[%s]]></FromUserName>";
    $xmlRespModel .= "<CreateTime>%s</CreateTime>";
    $xmlRespModel .= "<MsgType><![CDATA[%s]]></MsgType>";
    $xmlRespModel .= "<Content><![CDATA[%s]]></Content>";
    $xmlRespModel .= "</xml>";
    
    return sprintf(
        $xmlRespModel,
        $toUser,
        $fromUser,
        time(),
        "text",
        $content
    );
}

// 省略其它代码
$resultStr = responseTextMessage($xml->FromUserName, $xml->ToUserName,$xml->Content);    
echo $resultStr;
exit();

转到使用 微信公众平台接口调试工具,接口类型:消息接口调试,接口列表:文本消息,各项都填完后,报错

请求地址:
http://mptest.tlitt.com/event.php
成功或失败:
post data error,please check your server!  
错误原因:
http requset error 


请问是 服务器配置问题吗?如果是的话,为什么接口接收Post数据没有问题,还是php代码有问题?

回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容
问题标签