2013-06-05 44 views
0

這是我的情況。我在我自己的服務器上有一個PHP腳本。目的是從另一臺服務器接收$ _POST值。檢索這些$ _POST值很簡單。但是,遠程服務器包含一個附加的HTTP標頭,其中包含我的服務器需要檢索的發送的$ _POST請求。

問題是我怎麼能抓住這個HTTP頭?流程是這樣的:

遠程服務器 - >使用HTTP標頭一起發送POST --->我的服務器(POST檢索和HTTP頭) - >做額外的處理

也許這是很容易的,我錯過了我已經知道的東西。但我嘗試過任何可能性,如cURL,$ _SERVER變量但找不到一個。謝謝您的幫助。

更新:我想檢索由Mandrill發送的X-Mandrill-Signature標頭,用於驗證Web掛鉤請求。你可以在這裏閱讀:http://help.mandrill.com/entries/23704122-Authenticating-webhook-requests

回答

1

任何和所有收到的HTTP頭將在$_SERVER['HTTP_*'],例如, $_SERVER['HTTP_CONTENT_TYPE']Content-Type標題。它可以將可能單獨列入不同的密鑰中,身份驗證標頭通常沒有例如HTTP_前綴。

+0

是的我試過這個,它不起作用:$ _SERVER ['HTTP_CONTENT_TYPE']雖然它檢索正確的發佈值與此$ _POST ['posted_pa​​rameter']。根據Mandrill:http://help.mandrill.com/entries/23704122-Authenticating-webhook-requests。他們提供額外的HTTP標頭,稱爲「X-Mandrill-Signature」。我不知道如何檢索這個。謝謝你的提示。 –

+0

如果你沒有收到一個Content-Type頭,那麼'HTTP_CONTENT_TYPE'顯然不起作用,這只是一個例子。你嘗試過'$ _SERVER ['HTTP_X_MANDRILL_SIGNATURE']'嗎?你嘗試過'var_dump($ _ SERVER)'來看看你到底得到了什麼嗎? – deceze

+0

非常感謝Deceze!現在正在工作。這是一個:$ _SERVER ['HTTP_X_MANDRILL_SIGNATURE'] –