日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

curl http header_PHP如何解析header头部信息

發布時間:2024/9/18 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 curl http header_PHP如何解析header头部信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在寫接口經常會使用header來傳遞一些驗證信息,我們用各種php框架可以輕松的獲取到,但是它底層是怎么做的呢?我們今天來聊一聊。

我們知道,在php中獲取get參數(Query String Parameters)可以使用$_GET全局變量,獲取post參數使用$_POST全局變量。但是我們想要獲取header,好像缺沒有一個類似$_HEADER的全局變量來供我們使用。那我們想要獲取到header信息該怎么辦呢?也不賣關子了,我們可以從$_SERVER這個全局變量中獲取到。接下來我們來進行這個操作:

我們寫一個簡單的php文件測試一下:

<?php // header.phpvar_dump($_SERVER); ?>

在這里我的訪問地址是: http://localhost/header.php

我們使用postman工具或者curl命令請求下這個地址,并加入我們自定義的一個頭 token: 123456

curl -H "token: 123456" http://localhost/header.php

在輸出中我們可以找到一項

// ... 省略了好多["HTTP_TOKEN"]=> string(6) "123456"// ... 省略了好多

而這個HTTP_TOKEN就是我們想要的東西,我們傳入的小寫token, 在這里也轉換成了大寫。

我們再試一個,這次我們傳遞兩個header:

curl -H "test_token: 654321" -H "token: 123456" http://localhost/header.php

測試發現,我們在輸出中只找到了HTTP_TOKEN,缺沒有找到我們預想的HTTP_TEST_TOKEN。不要著急,我們把下劃線_換成連字符-試試:

curl -H "test-token: 654321" -H "token: 123456" http://localhost/header.php

看看輸出,這下兩個header都找到了。

// ... 省略了好多["HTTP_TEST_TOKEN"]=> string(6) "654321" ["HTTP_TOKEN"]=> string(6) "123456"// ... 省略了好多

綜上所述:傳遞header的鍵值,只能是單個詞或者以中劃線-連接的詞。不然php會忽略。

好了接下來我們在實際應用中,只要把$_SERVER中的以HTTP_開頭的下標都提取出來然后轉換成首字母大寫的格式就好了。

<?php function parse_headers(){$headers = [];foreach ($_SERVER as $name => $value){if (substr($name, 0, 5) == 'HTTP_'){$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;}}return $headers; }$headers = parse_headers(); var_dump($headers);?>

看看輸出:

array(5) {["Host"]=>string(9) "localhost"["User-Agent"]=>string(11) "curl/7.65.3"["Accept"]=>string(3) "*/*"["X-Token"]=>string(6) "654321"["Token"]=>string(6) "123456" }

好了,有模有樣,完美!?

作者博客鏈接?metmoon.com

總結

以上是生活随笔為你收集整理的curl http header_PHP如何解析header头部信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。