1. 概述
本文主要整理了POST送出資料到API時Content-Type的使用。
2. 腦圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iMzEmZ3YmZ0IjM2MTY1MDOmZzYxUjMmJ2MiRGOmRWYh9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
3. multipart/form-data
将FORM表單資料使用指定的分割字元(boundary)組裝成一個字元串送出,可用于送出二進制資料,如上傳檔案。
請求頭加入: Content-Type: multipart/form-data; boundary=盡量長的分割字元串。
請求方式如下:
PHP端接收資料方式: 使用 $_POST 變量接收。如下:
4. application/x-www-form-urlencode
将FORM表單資料使用urlencode編碼,然後用&連接配接,組裝成k1=v1&k2=v2格式字元串送出,對于送出大量二進制資料比較低效。
請求頭加入:Content-Type: application/x-www-form-urlencode。
請求方式如下:
PHP端接收資料方式:1). 使用 $_POST 變量 2). 使用 file_get_contents("php://input") 方法,然後用parse_str函數解析
5. application/json
告知服務端POST送出的是JSON字元串。
請求頭加入:Content-Type: application/json。
請求方式如下:
PHP端接收資料方式:使用 file_get_contents("php://input") 方法,然後用json_decode函數解析
6. text/plain
告知服務端JSON送出的是文本字元串。
請求頭加入:Content-Type: text/plain。
請求方式如下:
PHP端接收資料方式:使用 file_get_contents("php://input") 方法
總結檔案上傳用multipart/form-data類型,然後用$_FILES和$_POST接收參數。
通用接口用application/x-www-form-urlencode類型,然後用$_POST或file_get_contents("php://input")接受參數。
隻接受JSON字元串的接口用application/json類型,然後用file_get_contents("php://input")接受參數。