国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

通過http協(xié)議post方式接收xml數(shù)據(jù)解析不全

bijingjieshen

通過tcpdump抓包,真實傳輸數(shù)據(jù)如下所示

Pragma: no-cache
Content-Length: 334
Content-Type: text/xml

<xml><ToUserName><!></ToUserName>
<FromUserName><!></FromUserName>
<CreateTime>1513155527</CreateTime>
<MsgType><!></MsgType>
<Event><!></Event>
<EventKey><!></EventKey>
<MenuId>430813768</MenuId>
</xml>

但是通過var_dump($message)去打印,只有如下數(shù)據(jù)
array(1) {
=>
array(1) {
["CDATA=>
string(0) ""
}
}

是不是workerman的http解析xml只是解析一部分數(shù)據(jù)的原因?

6187 4 0
4個回答

walkor 打賞

因為post數(shù)據(jù)不是標準的key=value數(shù)據(jù)格式,所以$_POST得不到。
應該用 $GLOBALS去獲取所有數(shù)據(jù)

  • 暫無評論
bijingjieshen

但是var_dump($GLOBALS)得到的是NULL
我查看了一下Http.php文件,

if ($_SERVER === 'POST') {
    if (isset($_SERVER) && $_SERVER === 'multipart/form-data') {
        self::parseUploadFiles($http_body, $http_post_boundary);
    } else {
        parse_str($http_body, $_POST);
        // $GLOBALS
        $GLOBALS = $GLOBALS = $http_body;
        var_dump($GLOBALS);
    }
}

打印了一下 var_dump($GLOBALS);,還是顯示有數(shù)據(jù)的,為什么到Event.php中就變成NULL了呢?

  • 暫無評論
walkor 打賞

哦,gatewayWorker不支持http協(xié)議,手冊說了

  • 暫無評論
bijingjieshen

我修改了Http.php的代碼,加入xml解析函數(shù)parse,然后在Event.php中通過$message就可以獲取到了

    if ($_SERVER === 'POST') {
        if (isset($_SERVER) && $_SERVER === 'multipart/form-data') {
            self::parseUploadFiles($http_body, $http_post_boundary);
        } elseif (isset($_SERVER) && $_SERVER === 'text/xml') {
            $_POST = parse($http_body);
            //var_dump($_POST);
        } else {
            parse_str($http_body, $_POST);
            // $GLOBALS
            $GLOBALS = $GLOBALS = $http_body;
        }
    }
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??