php獲取http請求原文

2022-05-17 00:00:25 字數 831 閱讀 1910

可以從超級變數$_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。

具體**如下:

function

get_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...