您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用PHP怎么獲取HTTP中body的內容,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
// server.php switch($_SERVER['CONTENT_TYPE']){ case 'application/json': // 這里通過輸入端來獲取數據 $body = file_get_contents('php://input'); echo '這是一個json:', $body; break; // ... }
// client_web.php, 注意這里使用了 axios // ... service = axios.create({ baseURL: 'mydomain', validateStatus:function(status){ if(500 >= status) alert('server fails'); } }); // 發一個請求 service.post(url, { // ... headers: {'Content-Type':'application/json'}, data:'{"code":100}' // ... }); // 全局設置也沒問題 service.interceptors.request.use(function(config){ // 這里設置請求頭 config.headers['Content-Type'] = 'application/json'; return config; }, function(err){});
引申閱讀
以下為官方文檔小抄
PHP 輸入|輸出流分為: php://stdin, php://stdout 和 php://stderr
php://stdin、php://stdout 和 php://stderr 允許直接訪問 PHP 進程相應的輸入或者輸出流。 數據流引用了復制的文件描述符,所以如果你打開 php://stdin 并在之后關了它, 僅是關閉了復制品,真正被引用的 STDIN 并不受影響。 注意 PHP 在這方面的行為有很多 BUG 直到 PHP 5.2.1。 推薦你簡單使用常量 STDIN、 STDOUT 和 STDERR 來代替手工打開這些封裝器。
其中 php://stdin 是只讀的, php://stdout 和 php://stderr 是只寫的。
php://output
php://output 是一個只寫的數據流, 允許你以 print 和 echo 一樣的方式 寫入到輸出緩沖區。
php://fd
php://fd 允許直接訪問指定的文件描述符。 例如 php://fd/3 引用了文件描述符 3。
php://memory 和 php://temp
php://memory 和 php://temp 是一個類似文件 包裝器的數據流,允許讀寫臨時數據。 兩者的唯一區別是 php://memory 總是把數據儲存在內存中, 而 php://temp 會在內存量達到預定義的限制后(默認是 2MB)存入臨時文件中。 臨時文件位置的決定和 sys_get_temp_dir() 的方式一致。
php://temp 的內存限制可通過添加 /maxmemory:NN 來控制,NN 是以字節為單位、保留在內存的最大數據量,超過則使用臨時文件。
php://filter
php://filter 是一種元封裝器, 設計用于數據流打開時的篩選過濾應用。 這對于一體式(all-in-one)的文件函數非常有用,類似 readfile()、 file() 和 file_get_contents(), 在數據流內容讀取之前沒有機會應用其他過濾器。
php://filter 目標使用以下的參數作為它路徑的一部分。 復合過濾鏈能夠在一個路徑上指定。詳細使用這些參數可以參考具體范例。
關于使用PHP怎么獲取HTTP中body的內容就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。