你post2hostedscript.php
則要:
- 取所有收到的參數,如GET
- 構建一個POST查詢
- 發送
- 和可能,返回POST請求的結果。
這大概可以使用curl來完成,例如;這樣的事情應該讓你開始:
$queryString = $_SERVER['QUERY_STRING'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.othersite.com/post2hostedscript.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
curl_exec($ch);
curl_close($ch);
有關可捲曲使用的選項的列表,你可以看看的curl_setopt
頁面。
在這裏,你將不得不使用,至少:
CURLOPT_POST
:只要你想發送POST請求,而不是GET
CURLOPT_RETURNTRANSFER
:這取決於你是否要curl_exec
返回請求的結果,或僅輸出它。
CURLOPT_POSTFIELDS
:將發佈的數據 - 即您在傳入請求的查詢字符串中所擁有的數據。
並注意從POST請求的響應可能包括一些有趣的HTTP頭 - 如果需要的話,你就必須來接他們(見CURLOPT_HEADER
選項),並重新發送有趣的你自己的回覆(見header
函數)。
這個腳本應該在GET請求之後返回什麼? POST後的另一個腳本的響應? – 2010-03-12 12:00:43
爲什麼簡單的array_merge($ _ POST,$ _GET)不起作用?然後你可以調用我想要的任何腳本。不知道是否有任何迫在眉睫的問題。 – pinaki 2010-03-12 12:09:33
不是一個好主意。GET和POST的意思是分開的,以便用戶代理知道他們在按照鏈接或發佈表單時所做的事情,即遵循鏈接不應有副作用並多次發出GET請求應該與發佈一次具有相同的效果。 – 2010-03-12 12:21:51