卷曲与PHP没有给出任何结果

时间:2013-11-26 11:53:04

标签: php curl

这是我的PHP代码,它没有给出任何结果,如果我犯了任何错误,请告诉我。

<?php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,"http://www.my-ajax-site.com     'https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=Official%20Google%20Blogs'");
$res=curl_exec($curl_handle);
echo $res;
curl_close($curl_handle);
$json = json_decode($res, true);
echo $json;
print_r($json);
?>

3 个答案:

答案 0 :(得分:1)

那是因为你传递了两个网址

curl_setopt($curl_handle,CURLOPT_URL,"http://www.my-ajax-site.com     'https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=Official%20Google%20Blogs'");
          --------------------------URL1--------------------------     ---------------------------------------URL2-------------------------------------

只传递一个网址,如果您想使用多个网址,请使用loop并调用此cURL方法。

编辑:

传递多个网址..

<?php
$urls = array('http://example.com','http://example2.com');
foreach($urls as $url)
{
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$url);
$res=curl_exec($curl_handle);
echo $res;
curl_close($curl_handle);
$json = json_decode($res, true);
echo $json;
print_r($json);
}
?>

答案 1 :(得分:0)

http://www.php.net/manual/en/function.curl-setopt.php http://www.php.net/manual/en/function.curl-init.php

resource curl_init ([ string $url = NULL ] )
  

string $ url = NULL

查看参数说明:

  

<强>网址

     

如果提供, CURLOPT_URL 选项将设置为其值。您可以   使用 curl_setopt()函数手动设置它。

     

注意:如果设置了open_basedir,则cURL会禁用文件协议。

所以,这是CURLOPT_URL信息:

  

CURLOPT_URL 要抓取的网址。这也可以在初始化时设置   与curl_init()的会话。

http://en.wikipedia.org/wiki/Uniform_resource_locator#Syntax

好吧,该命令只接受一个URL而不是多个onces,并且存在问题。

curl_setopt($curl_handle,CURLOPT_URL,"http://www.my-ajax-site.com     'https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=Official%20Google%20Blogs'");
//                                               URL 1                                                   URL 2

所以,这里有2个网址。参数错误,因此失败。

我不知道你想做什么,但如果你想将两个网站加入一个字符串,你可以遵循:

// Obtain the first URL data into $ObtainedDataFromSFirstCURL variable.
string $variable = $ObtainedDataFromFirstCURL;
// Obtain the second URL data into $ObtainedDataFromSecondCURL variable.
$variable .= $ObtainedDataFromSecondCURL;
// Do anything whit the variable.
echo $variable;

http://www.php.net/manual/en/language.operators.string.php

我希望它有所帮助。

答案 2 :(得分:0)

在你引用的curl命令行中,-e url参数设置了HTTP引用,这就是你需要在PHP curl中模仿的东西。我找到了http://www.electrictoolbox.com/php-curl-http-referer/的解决方案,我已针对您的网址进行了调整:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=Official%20Google%20Blogs');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://my-ajax-site.com');
$html = curl_exec($ch);