可以從超級變數$_server中獲得,三個變數的值如下:
$_server['request_method'].' '.$_server['request_uri'].' '.$_server['server_protocol']."\r\n";
php有個內建函式getallheader(),是apache_request_headers()函式的乙個別名,可以將http請求的所有header以陣列形式返回。但這個函式只能工作在apache下,如果換了nginx或者命令列,會直接報函式不存在的錯誤。
比較通用的方法是,從超級變數$_server中提取出來,有關header的鍵值都是「http_」開頭的,可以根據此特點取得所有的header。
具體**如下:
functionget_all_headers()
}
return
$headers
; }
官方提供了一種獲取請求body的方法,即:
file_get_contents('php://input')
/** * 獲取http請求原文
//(3) 空行
$raw .= "\r\n"; //
(4) 請求body
$raw .= file_get_contents('php://input');
return
$raw
; }
PHP取得HTTP請求的原文
1.取得請求行 method uri 協議 可以從超級變數 server中獲得,三個變數的值如下 server request method server request uri server server protocol r n 2.取得所有header php有個內建函式getallheade...
PHP取得HTTP請求的原文
1.取得請求行 method uri 協議 可以從超級變數 server中獲得,三個變數的值如下 server request method server request uri server server protocol r n 2.取得所有header php有個內建函式getallheade...
php 獲取http請求body資料
在php中,我們習慣使用get post方式獲取引數值,但對於有些自定義http協議,會有特定的格式,php通過常規解析並不能獲取這些資料。這時候我們可以通過獲取body,用特定的格式去解析body來得到想要的資料。關鍵是怎麼獲取body。通過查閱發現php有以下方法http get request...