Php 如何获取http请求的响应

Php 如何获取http请求的响应,php,xml,google-custom-search,Php,Xml,Google Custom Search,[![enter image description here][1][1]我正在尝试获取某个标记值,但它显示了一些错误。 下面是代码,请建议一些解决方案 这是我用于httpGet请求的方法 function httpGet($result15) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$result15); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $output=curl_e

[![enter image description here][1][1]我正在尝试获取某个标记值,但它显示了一些错误。 下面是代码,请建议一些解决方案

这是我用于httpGet请求的方法

function httpGet($result15)
{
$ch = curl_init();  

curl_setopt($ch,CURLOPT_URL,$result15);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

$output=curl_exec($ch);

curl_close($ch);

return $output;
}



$result15= httpGet("https://www.googleapis.com/customsearch/v1?key=API_KEY&cx=003255er&q=cancer&num=1&alt=atom");//new cse

echo $result15;
$xml = new DOMDocument();
$xml->loadXML($result15);
foreach( $xml->entry as $entry )
{
echo "URL=".(string)$entry->id.PHP_EOL;
echo "Summary=".(string)$entry->summary.PHP_EOL;

}

您可能会发现curl请求失败。你需要做几件事

function httpGet($result15)
{
    $ch = curl_init();  
    curl_setopt($ch,CURLOPT_URL,$result15);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Add this
    $output=curl_exec($ch);
    // If this fails, output error.
    if ($output === FALSE) {
        echo curl_error($ch);
        // Not sure what you want to do, but 'exit' will work for now
        exit();
    }
    curl_close($ch);
    return $output;
}
如果curl请求失败,这将显示一个错误。你需要决定如何应对这一问题。您可以返回false,然后在代码中进一步检查,然后再尝试将其作为XML加载。上面的代码只在出现错误时停止

您的下一段代码似乎混合了SimpleXML和DOMDocument,如果文档结构相当简单,您可以使用SimpleXML

$xml = simplexml_load_string($result15);
foreach( $xml->entry as $entry )
{

粘贴此错误我已经上传了错误消息屏幕截图,请在@prgj83进行检查。您的方法httpGet不会返回任何值。这个方法看起来怎么样?函数httpGet$result15{$ch=curl\u init;curl\u setopt$ch,CURLOPT\u URL,$result15;curl\u setopt$ch,CURLOPT\u RETURNTRANSFER,true;$output=curl\u exec$ch;curl\u close$ch;return$output;}我在问题@prgj83中添加了httpGet方法谢谢你的回答,现在我收到了这个错误通知:未定义属性:DOMDocument::$C:\wamp64\www\hari\cfp\www.checkforplag.com中的entry-final new\custom-search-api-atom.php第46echo行$result显示:亚裔美国人对结直肠癌CRC筛查的不依从性仍然很高。菲律宾、苗族和韩裔美国人中不依从的筛查意愿较低。了解一个或多个筛查指南会使这些亚洲人群打算进行CRC筛查的几率增加一倍。好的,我在答案中添加了一个新的部分,尝试使用SimpleXML。