0.說(shuō)明
大叔 :二翔 我們要做一個(gè)微信公眾號(hào)哦。我來(lái)教你大概的流程好不好?(開(kāi)啟裝逼模式中 )
二翔 :好啊,快講快講。(無(wú)限期待中 )
大叔 :你知道 application/x-www-form-urlencoded是什么嘛?
二翔 :啊咧咧?
大叔 :你知道 php 怎么獲得 raw?
二翔 :啊咧咧?
大叔 :用下面這種方法來(lái)實(shí)現(xiàn)。
echo file_get_contents("php://input");
二翔 :啊咧咧?
二翔 :php://input是什么東西?
大叔 :嘿嘿,自己去了解吧。
1.無(wú)情浪子 POST 編故事POST平??雌饋?lái)人畜無(wú)害,但是有句話(huà)說(shuō)的好。最可怕的不是鬼怪,而是人心(Content-Type)。POST在明面上,只有一個(gè)老婆叫做application/x-www-form-urlencoded,其實(shí)他一共有好幾個(gè)伴侶。
鍵值妹:application/x-www-form-urlencoded
文件妹:multipart/form-data
多胞胎:raw
text/plain
text/html
text/xml
application/json
application/xml
application/javascirpt
2.辨別真心 Content-Type 0.說(shuō)明我們想知道POST心里裝著的人是誰(shuí)怎么辦呢,這次請(qǐng)出感情專(zhuān)家 postman 來(lái)幫忙。
1.application/x-www-form-urlencodedPOST HTTP/1.1 Host: 127.0.0.1 Cache-Control: no-cache Postman-Token: 4f2704aa-81e6-be22-4c36-8787ba945a22 Content-Type: application/x-www-form-urlencoded name=lionis&sex=man
輸出
array(2) { ["name"]=> string(6) "lionis" ["sex"]=> string(3) "man" }結(jié)論
application/x-www-form-urlencoded是常用的表單發(fā)包方式,普通的表單提交,默認(rèn)都是通過(guò)這種方式。 對(duì)于PHP用$_POST獲得鍵值對(duì)。
2.multipart/form-data報(bào)文
POST HTTP/1.1 Host: 127.0.0.1 Cache-Control: no-cache Postman-Token: f7640c52-6667-b4e8-aee8-02b0e1656969 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="name" lionis ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="sex" man ----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="avater"; filename="" Content-Type: ----WebKitFormBoundary7MA4YWxkTrZu0gW服務(wù)端代碼
輸出
array(2) { ["name"]=> string(6) "lionis" ["sex"]=> string(3) "man" } array(1) { ["avater"]=> array(5) { ["name"]=> string(36) "0CD0A5235EDCDAAB4AFE05B25695E696.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phpeFfc9e" ["error"]=> int(0) ["size"]=> int(9485) } }結(jié)論
multipart/form-data 用在發(fā)送文件的POST包。對(duì)于PHP用$_FILE獲取文件內(nèi)容,用$_POST獲得鍵值對(duì)。
3.raw報(bào)文
POST HTTP/1.1 Host: 127.0.0.1 Content-Type: application/json Cache-Control: no-cache Postman-Token: 9e0c339b-a6b0-c534-5c62-63ef8dc887c4 { "user": "xieyuandong", "sex": "man" }服務(wù)端代碼
輸出
string(47) "{ "user": "xieyuandong", "sex": "man" }"結(jié)論
raw可以上傳json,xml,文本等等。對(duì)于PHP用php://input獲得內(nèi)容。
3.$_POST vs php://input vs HTTP_RAW_POST_DATA 1.$_POST可以獲 Content-Type 為 application/x-www-form-urlencoded 或者 multipart/form-data 的請(qǐng)求。
2.HTTP_RAW_POST_DATA$POST不能獲取的方式,都會(huì)存儲(chǔ)在HTTP_RAW_POST_DATA,用$GLOBALS["HTTP_RAW_POST_DATA"] 接收。給內(nèi)存帶來(lái)的壓力較大,并且需要 php.ini 設(shè)置。
3.php://input允許讀取 POST 的原始數(shù)據(jù)。給內(nèi)存帶來(lái)的壓力較小,并且不需要 php.ini 設(shè)置。不能用于 enctype="multipart/form-data"。
4.結(jié)論在php 7中已經(jīng)取消了HTTP_RAW_POST_DATA,我們平時(shí)使用$POST和php://input就好了。
一起成長(zhǎng)在困惑的城市里總少不了并肩同行的 伙伴 讓我們一起成長(zhǎng)。如果您想讓更多人看到文章可以點(diǎn)個(gè) 點(diǎn)贊。
如果您想激勵(lì)小二可以到 Github 給個(gè) 小星星。
如果您想與小二更多交流添加微信 m353839115。
本文原稿來(lái)自 PushMeTop
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/21816.html
你所不知道的 URL 0.說(shuō)明 第一幕 產(chǎn)品:大叔有用戶(hù)反映賬戶(hù)不能綁定公眾號(hào)。大叔:啊咧咧?怎么可能,我看看?大叔:恩?這也沒(méi)問(wèn)題啊,魏蝦米。大叔:還是沒(méi)問(wèn)題啊,挖叉類(lèi)。大叔:T T,話(huà)說(shuō)產(chǎn)品姐姐是不是Java提供接口的時(shí)候,沒(méi)有對(duì)URL進(jìn)行encodeURI。產(chǎn)品:啊咧咧?我問(wèn)問(wèn)看? 第二幕 大叔:小二你給我過(guò)來(lái)!小二:啊咧咧?怎么了大叔?大叔:知道在URL中的+有時(shí)候會(huì)變成什么嗎?小二:啊咧...
前言 很多的小伙伴在,學(xué)習(xí) PHP 的時(shí)候最早面對(duì)的問(wèn)題之一就是 require 、 include 和 require_once 、include_once 的相愛(ài)相殺。 在了解了它們相愛(ài)相殺的故事后,往往就開(kāi)始使用起了框架??蚣芄倘皇歉苫畹暮霉ぞ?,但是你知道你平時(shí) new 一個(gè)新類(lèi)的時(shí)候,發(fā)生了什么嗎?有想過(guò)為什么我們 遵循規(guī)范 就會(huì)自動(dòng)的幫我們做好一切的加載嗎? 讓我們一切來(lái)探索發(fā)現(xiàn)其中的奧...
0.說(shuō)明 凱子:翔逼你知道3月31日加1個(gè)月是幾月幾號(hào)嘛? 翔逼:當(dāng)然是4月30號(hào),泥484傻~ 凱子:真的嘛?你試試下面的代碼。
摘要:已經(jīng)逐漸替代被全世界的開(kāi)發(fā)者廣泛使用。函數(shù)將一個(gè)對(duì)象轉(zhuǎn)換成文本化的。不能被文本化的屬性會(huì)被忽略。和例外情況在數(shù)組中,不可被的元素用填充。自從年雙十一正式上線(xiàn),累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件等眾多知名用戶(hù)的認(rèn)可。 譯者按: 老司機(jī)們,你知道JSON.stringify還有第二個(gè)和第三個(gè)可選參數(shù)嗎?它們是什么呢? 原文: What you didn’t know about JSO...
摘要:愷英網(wǎng)絡(luò)程序經(jīng)理張皓聰在上,做了直播平臺(tái)系統(tǒng)實(shí)戰(zhàn)的主題分享,介紹了直播平臺(tái)系統(tǒng)的搭建過(guò)程。張皓聰年加入愷英網(wǎng)絡(luò),先后負(fù)責(zé)過(guò)多款手游頁(yè)游項(xiàng)目,對(duì)和有深入研究。確保所有的壓力是平均的。 分享 | 張皓聰(愷英網(wǎng)絡(luò)程序經(jīng)理) 整理 | 西北 2016年10月29日,由又拍云舉辦的Open Talk No.26在魔都上海3W空間成功舉辦,此次活動(dòng)主要邀請(qǐng)直播領(lǐng)域開(kāi)發(fā)一線(xiàn)的技術(shù)大神們聊一聊直播平...
閱讀 3107·2023-04-25 18:00
閱讀 2337·2021-11-23 10:07
閱讀 4262·2021-11-22 09:34
閱讀 1334·2021-10-08 10:05
閱讀 1645·2019-08-30 15:55
閱讀 3544·2019-08-30 11:21
閱讀 3443·2019-08-29 13:01
閱讀 1467·2019-08-26 18:26