php post登陆 json,php 之 post json 数据
原文鏈接?http://www.jb51.net/article/27312.htm
最近用到python 與PHP交互,phthon把json數據post給PHP,但在PHP里面$_post獲取不到,$_REQUEST也獲取不到,但是通過firedebug看到的請求信息確實是把JSON數據post給了PHP,這什么情況
突然想到了以前接觸過flash將圖片二進制流傳給php,靈機一動用$GLOBALS[‘HTTP_RAW_POST_DATA‘]獲取到了。
于是就深入的查了一下,原來PHP默認只識別application/x-www.form-urlencoded標準的數據類型,因此,對型如text/xml 或者 soap 或者 application/octet-stream 之類的內容無法解析,如果用$_POST數組來接收就會失敗!故保留原型,交給$GLOBALS[‘HTTP_RAW_POST_DATA‘] 來接收。
php的HTTP_RAW_POST_DATA
用Content-Type=text/xml 類型,提交一個xml文檔內容給了php server,要怎么獲得這個POST數據。
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標準的數據類型,因此,對型如text/xml的內容無法解析為$_POST數組,故保留原型,交給$GLOBALS[‘HTTP_RAW_POST_DATA‘] 來接收。
另外還有一項 php://input 也可以實現此這個功能
php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。php://input 不能用于 enctype="multipart/form-data"。
總結
以上是生活随笔為你收集整理的php post登陆 json,php 之 post json 数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中的排序操作和heapq模块
- 下一篇: 说了 17 年,马斯克口中的特斯拉“便宜