天天看點

php post contenttype,一文弄懂POST送出的Content-Type值。

1. 概述

本文主要整理了POST送出資料到API時Content-Type的使用。

2. 腦圖

php post contenttype,一文弄懂POST送出的Content-Type值。

3. multipart/form-data

将FORM表單資料使用指定的分割字元(boundary)組裝成一個字元串送出,可用于送出二進制資料,如上傳檔案。

請求頭加入: Content-Type: multipart/form-data; boundary=盡量長的分割字元串。

請求方式如下:

php post contenttype,一文弄懂POST送出的Content-Type值。

PHP端接收資料方式: 使用 $_POST 變量接收。如下:

php post contenttype,一文弄懂POST送出的Content-Type值。

4. application/x-www-form-urlencode

将FORM表單資料使用urlencode編碼,然後用&連接配接,組裝成k1=v1&k2=v2格式字元串送出,對于送出大量二進制資料比較低效。

請求頭加入:Content-Type: application/x-www-form-urlencode。

請求方式如下:

php post contenttype,一文弄懂POST送出的Content-Type值。

PHP端接收資料方式:1). 使用 $_POST 變量 2). 使用 file_get_contents("php://input") 方法,然後用parse_str函數解析

php post contenttype,一文弄懂POST送出的Content-Type值。

5. application/json

告知服務端POST送出的是JSON字元串。

請求頭加入:Content-Type: application/json。

請求方式如下:

php post contenttype,一文弄懂POST送出的Content-Type值。

PHP端接收資料方式:使用 file_get_contents("php://input") 方法,然後用json_decode函數解析

php post contenttype,一文弄懂POST送出的Content-Type值。

6. text/plain

告知服務端JSON送出的是文本字元串。

請求頭加入:Content-Type: text/plain。

請求方式如下:

php post contenttype,一文弄懂POST送出的Content-Type值。

PHP端接收資料方式:使用 file_get_contents("php://input") 方法

php post contenttype,一文弄懂POST送出的Content-Type值。

總結檔案上傳用multipart/form-data類型,然後用$_FILES和$_POST接收參數。

通用接口用application/x-www-form-urlencode類型,然後用$_POST或file_get_contents("php://input")接受參數。

隻接受JSON字元串的接口用application/json類型,然後用file_get_contents("php://input")接受參數。