亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用PHP怎么對HTTP請求進行獲取

發布時間:2020-12-24 14:47:42 來源:億速云 閱讀:201 作者:Leah 欄目:開發技術

這篇文章給大家介紹利用PHP怎么對HTTP請求進行獲取,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1. 取得請求行:Method、URI、協議

可以從超級變量$_SERVER中獲得,三個變量的值如下:

$_SERVER['REQUEST_METHOD'].' '.$_SERVER['REQUEST_URI'].' '.$_SERVER['SERVER_PROTOCOL']."\r\n";

2. 取得所有Header

PHP有個內置函數getallheader(),是apache_request_headers()函數的一個別名,可以將HTTP請求的所有Header以數組形式返回。但這個函數只能工作在Apache下,如果換了Nginx或者命令行,會直接報函數不存在的錯誤。

比較通用的方法是,從超級變量$_SERVER中提取出來,有關Header的鍵值都是“HTTP_”開頭的,可以根據此特點取得所有的Header。

具體代碼如下:

function get_all_headers() { 
$headers = array(); 

foreach($_SERVER as $key => $value) { 
if(substr($key, 0, 5) === 'HTTP_') { 
$key = substr($key, 5); 
$key = strtolower($key); 
$key = str_replace('_', ' ', $key); 
$key = ucwords($key); 
$key = str_replace(' ', '-', $key); 

$headers[$key] = $value; 
} 
} 

return $headers; 
}

3. 取得Body

官方提供了一種獲取請求Body的方法,即:

file_get_contents('php://input')

4. 最終完整代碼如下:

/** 
* 獲取HTTP請求原文 
* @return string 
*/ 
function get_http_raw() { 
$raw = ''; 

// (1) 請求行 
$raw .= $_SERVER['REQUEST_METHOD'].' '.$_SERVER['REQUEST_URI'].' '.$_SERVER['SERVER_PROTOCOL']."\r\n"; 

// (2) 請求Headers 
foreach($_SERVER as $key => $value) { 
if(substr($key, 0, 5) === 'HTTP_') { 
$key = substr($key, 5); 
$key = str_replace('_', '-', $key); 

$raw .= $key.': '.$value."\r\n"; 
} 
} 

// (3) 空行 
$raw .= "\r\n"; 

// (4) 請求Body 
$raw .= file_get_contents('php://input'); 

return $raw; 
}

關于利用PHP怎么對HTTP請求進行獲取就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

水富县| 郓城县| 阿克陶县| 洛扎县| 古交市| 余江县| 开江县| 宣威市| 乡城县| 日土县| 忻城县| 遂昌县| 额尔古纳市| 东丽区| 湟中县| 梁山县| 乾安县| 天门市| 扎赉特旗| 汉阴县| 桓台县| 正定县| 吴川市| 渭源县| 庆元县| 罗源县| 仁寿县| 澄城县| 呈贡县| 中西区| 孝义市| 喀喇沁旗| 葫芦岛市| 余干县| 密山市| 东山县| 柳林县| 酉阳| 合水县| 揭西县| 肇州县|