php 之 post json 数据
原文鏈接?http://www.jb51.net/article/27312.htm
最近用到python 與PHP交互,phthon把json數(shù)據(jù)post給PHP,但在PHP里面$_post獲取不到,$_REQUEST也獲取不到,但是通過firedebug看到的請求信息確實是把JSON數(shù)據(jù)post給了PHP,這什么情況
突然想到了以前接觸過flash將圖片二進制流傳給php,靈機一動用$GLOBALS['HTTP_RAW_POST_DATA']獲取到了。
于是就深入的查了一下,原來PHP默認只識別application/x-www.form-urlencoded標準的數(shù)據(jù)類型,因此,對型如text/xml 或者 soap 或者 application/octet-stream 之類的內(nèi)容無法解析,如果用$_POST數(shù)組來接收就會失敗!故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA'] 來接收。
php的HTTP_RAW_POST_DATA?
用Content-Type=text/xml 類型,提交一個xml文檔內(nèi)容給了php server,要怎么獲得這個POST數(shù)據(jù)。?
The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).?
由于PHP默認只識別application/x-www.form-urlencoded標準的數(shù)據(jù)類型,因此,對型如text/xml的內(nèi)容無法解析為$_POST數(shù)組,故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA'] 來接收。?
另外還有一項 php://input 也可以實現(xiàn)此這個功能?
php://input 允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。php://input 不能用于 enctype="multipart/form-data"。?
轉(zhuǎn)載于:https://www.cnblogs.com/debmzhang/p/3849360.html
總結(jié)
以上是生活随笔為你收集整理的php 之 post json 数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring下@ResponseBody
- 下一篇: OGEngine_粒子效果