我有一个像http://www.url.com/cakephp/controller/action/param:1
这样的网址,可以生成HTML页面。
在php文件中我有:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"http://www.url.com/cakephp/controller/action/param:1" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
$results=curl_exec($ch);
echo $results." <br />";
除了<br />
之外,这段代码不会写任何内容?
如果我使用其他网站,例如www.google.com,则会加载并正确显示。我的问题是什么?
答案 0 :(得分:1)
很可能CURL以某种方式失败了。试试这个:
$results = curl_exec($ch);
if ($results === FALSE) {
die(curl_error($ch));
}
echo $results . "<br />";
curl在失败时返回false,因此您需要测试该情况。
答案 1 :(得分:1)
问题是,如果您不遵循该位置(它看起来可能会重定向,因为它是蛋糕)并且如果您不接受cookie,则网站不会提供任何内容。
$cookie = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init();
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
curl_setopt($ch, CURLOPT_URL, "http://www.trofeocaressa.it/cakephp/matches/showMatchesBySeasonId/season_id:1" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
$results=curl_exec($ch);
echo $results." <br />";
应该返回结果。对于将来的参考文献Curl Manual,它列出了您可以传递的内容等等。尝试一些主要项目,例如cookie,引用者,用户代理等。
答案 2 :(得分:0)
也许你应该添加像Marc所说的错误报告,并关闭处理程序
(curl_close($ CH);)