我是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);查看任何传递给文件的值,但没有返回任何内容。
答案 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'];