[程序員每日5分鐘]你不知道的 POST

很多人在使用 POST 的時(shí)候其實(shí)是不知道 <b>Content-Type</b> 的诚撵,以至于在看一些官方的 API 的時(shí)候懵逼了键闺,完全沒見過也不知道這個(gè)是什么 POST 啊辛燥。

黑人問號(hào).jpg

那么我們今天,就來學(xué)習(xí)一下徘六,<b>POST</b> 方式下 <b>Content-Type</b> 的幾種方式榴都。

本文后端以 <b>PHP</b> 為例。(以后也都是)

一炉擅、application/x-www-form-urlencoded

<b>application/x-www-form-urlencoded</b> 是最常用的方式阳惹,普通的表單提交、js異步請(qǐng)求都默認(rèn)都是通過這種方式快鱼。 用$_POST即可獲取數(shù)據(jù)纲岭。

報(bào)文
POST  HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded

name=anonymous66&sex=man
服務(wù)端代碼
var_dump($_POST);
輸出
array(2) { 
    ["name"]  => string(6) "anonymous66"
    ["sex"]   => string(3) "man"
}

二止潮、multipart/form-data

<b>multipart/form-data</b> 用在有上傳文件的時(shí)候。$_FILE 獲取文件內(nèi)容袄琳,$_POST 獲取數(shù)據(jù)。

報(bào)文
POST  HTTP/1.1
Host: 127.0.0.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="name"

anonymous66
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="sex"

man
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="avater"; filename=""
Content-Type: 

----WebKitFormBoundary7MA4YWxkTrZu0gW
服務(wù)端代碼
var_dump($_POST); 
var_dump($_FILES);
輸出
array(2) { 
    ["name"]   => string(6) "anonymous66" 
    ["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) 
    }
}

三宛琅、raw

raw 可以上傳 json嘿辟、xml片效、文本 等等。用 php://input 獲得內(nèi)容。

以下是 raw 具體的方式:
text/plain
text/html
text/xml
application/json
application/xml
application/javascirpt

報(bào)文
POST  HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json

{ 
    "user": "anonymous66",
    "sex": "man"
}
服務(wù)端代碼
var_dump( file_get_contents('php://input') );
輸出
string(48) "{ "user": "anonymous66", "sex": "man"}"

四哺呜、總結(jié)

  • $_POST 可以獲 Content-Typeapplication/x-www-form-urlencoded 或者 multipart/form-data 的請(qǐng)求某残。

  • php://input 允許讀取 POST 的原始數(shù)據(jù)。給內(nèi)存帶來的壓力較小介牙。不能用于 enctype="multipart/form-data"

怎么樣澳厢,學(xué)習(xí)很簡單吧?點(diǎn)個(gè)關(guān)注线得、點(diǎn)個(gè)喜歡徐伐、打賞都是對(duì)我的支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末角雷,一起剝皮案震驚了整個(gè)濱河市性穿,隨后出現(xiàn)的幾起案子需曾,更是在濱河造成了極大的恐慌揭措,老刑警劉巖刻蚯,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炊汹,死亡現(xiàn)場離奇詭異,居然都是意外死亡充甚,警方通過查閱死者的電腦和手機(jī)霸褒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門废菱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衰倦,你說我怎么就攤上這事旁理。” “怎么了驻襟?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵芋哭,是天一觀的道長。 經(jīng)常有香客問我厢蒜,道長烹植,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮墩虹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旬昭。我一直安慰自己,他們只是感情好遍略,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布绪杏。 她就那樣靜靜地躺著纽绍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪僧著。 梳的紋絲不亂的頭發(fā)上辖佣,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天卷谈,我揣著相機(jī)與錄音霞篡,去河邊找鬼。 笑死污淋,一個(gè)胖子當(dāng)著我的面吹牛余掖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盐欺,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼冗美,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了节预?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤蛤吓,失蹤者是張志新(化名)和其女友劉穎柱衔,沒想到半個(gè)月后愉棱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡艾岂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了朋其。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片王浴。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖梅猿,靈堂內(nèi)的尸體忽然破棺而出氓辣,到底是詐尸還是另有隱情,我是刑警寧澤袱蚓,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布钞啸,位于F島的核電站,受9級(jí)特大地震影響喇潘,放射性物質(zhì)發(fā)生泄漏体斩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一颖低、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧忱屑,春花似錦蹬敲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脏毯,卻和暖如春闹究,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背食店。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工渣淤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赏寇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓价认,卻偏偏與公主長得像嗅定,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子用踩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 歡迎關(guān)注微信公眾號(hào):全棧工廠 本文主要參考 深入剖析PHP輸入流 php://input [http://www....
    liqingbiubiu閱讀 2,165評(píng)論 1 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理梅誓,服務(wù)發(fā)現(xiàn),斷路器佛南,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 四種常見的 POST 提交數(shù)據(jù)方式 我們知道梗掰,HTTP 協(xié)議是以 ASCII 碼傳輸,建立在 TCP/IP 協(xié)議之...
    杰哥長得帥閱讀 3,483評(píng)論 0 0
  • 今天想要講的東西比較雜亂嗅回,自己理了好久的思路感覺一直找不到一條線串聯(lián)起這些碎片化的知識(shí)及穗。然后就想著那就先寫寫看吧,...
    Programmer客棧閱讀 2,059評(píng)論 0 9
  • 楊志是《水滸傳》梁山里108好漢的一位绵载。不僅武藝高強(qiáng)埂陆,而且做事精細(xì)謹(jǐn)慎,考慮后果尘分,江湖人稱“青面獸猜惋!” ...
    閆昱佳閱讀 862評(píng)論 0 0