你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