使用curl_setopt调用变量时将其传递给另一个页面

时间:2013-04-17 19:49:01

标签: php curl

我是usig curl_setopt来评估来自不同服务器的另一个文件,链接是这样的“http://somewhere.com/index.php?vars=hello

现在在somewhere.com/index.php中我需要获取使用curl传递的vars的值,但到目前为止我根本无法得到任何值。

这是我的示例代码供您参考,这是来自调用somewhere.com的文件:

$d = "http://somewhere.com/index.php?vars=hello";
$ch1 = curl_init();

curl_setopt($ch1, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch1, CURLOPT_URL, $d);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, TRUE);       

$data1 = curl_exec($ch1);
eval($data1);
curl_close($ch1);

在somewhere.com/index.php我已经做过print_r($ _ GET);查看任何传递给文件的值,但没有返回任何内容。

2 个答案:

答案 0 :(得分:1)

index.php文件中发生了什么变量“hello”?当您对其他页面执行卷曲帖子时,其他页面通常会回显响应,并且该响应是您评估的内容。你可以从index.php发布你的代码,这样我们就可以看到你想要做什么了吗?

编辑:您还可以使用chrome检查器,fiddler或其他一些网络监视器来查看http请求是否实际被触发,并检查您实际上是否收到了200响应。

编辑:我不知道你在使用eval是什么,只是回应响应。如果您有输出缓冲区问题,则在回显响应之前开始缓冲,如:

     ob_start():
     echo $data1;
     ob_end_clean();

此外,如果您想查看是否收到任何错误,请执行以下操作:

     if(curl_exec($ch1) === false)
     {
     echo 'Curl error: ' . curl_error($ch1);
     } 
     else
     {
     echo $data1;
     }

     // Close handle
     curl_close($ch1);

答案 1 :(得分:0)

你不能只使用$_GET[]吗?

即。     $variables = $_GET['vars'];