2009-10-08 137 views

回答

1

这可能在纯PHP做的唯一方法是通过使用卷曲并打印在页面请求的结果:

<?php 

// sort post data 
$postarray = array(); 
foreach ($_GET as $getvar => $getval){ 
    $postarray[] = $getvar.'='.urlencode($getval); 
    } 
$poststring = implode('&',$postarray); 

// fetch url 
$curl = curl_init("http://www.yourdomain.com/yourpage.php"); 
curl_setopt($ch,CURLOPT_POST,count($postarray)); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$poststring); 
$data = curl_exec($curl); 
curl_close($curl); 

// print data 
print $data; 

?> 

显然您发布之前,你会验证获取数据。 如果还有其他方法可以做到这一点,我会很有兴趣知道这种方法并不理想。首先,必须在PHP中启用cURL,其次,在请求另一个URL时会有一些开销。

+0

非常感谢我会尝试你的代码,因为目前我正在将数据放入第一页的cookie中,并从第二页中读取数据,但这只适用于同一个域中的页面。 – Andrei 2009-10-08 12:03:27

+0

'$ _SERVER ['QUERY_STRING']'是一个带查询字符串的预合成字符串,因此您不需要构建'$ poststring'。 – 2010-10-04 01:12:11

1

只能使用form和javascript,这不是防弹的。

+0

这不能使用CURL PHP吗? – Andrei 2009-10-08 08:30:59

+1

这不会是一个重定向。是的,我认为你可以用'curl'手动调出并返回结果。 – 2009-10-08 08:59:50

+0

它不需要重定向,我只需要使用POST将GET变量发送到页面。你也知道如何使这个不受欢迎的卷曲。 – Andrei 2009-10-08 09:06:07

相关问题