PHP,Curl - 检查空结果

时间:2014-08-19 15:17:59

标签: php curl simplexml

大多数情况下,URL会返回一些信息,但是当没有返回任何信息时,我想返回一个字符串'Empty Result',所以不要将空字符串传递给SimpleXmlElement函数,因为这似乎会产生错误

如何检查Curl的空/空响应?

    // Get cURL resource
    $curl = curl_init();

    // Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => $searchString,
        CURLOPT_USERAGENT => 'Codular Sample cURL Request',
        CURLOPT_FOLLOWLOCATION, true
    ));
    // Send the request & save response to $resp
    $result = curl_exec($curl);

    // Close request to clear up some resources
    curl_close($curl);

    if($result === null)
    {
        return 'Empty Result';
    }

    $doc = new SimpleXmlElement($result, LIBXML_NOCDATA);

2 个答案:

答案 0 :(得分:3)

尝试:

if(!$result || strlen(trim($result)) == 0)
{
    return 'Empty Result';
}

如果失败或遇到空白响应,将返回“空结果”。

或者,您可以处理XML错误like so

答案 1 :(得分:1)

试一试

// Get cURL resource
$curl = curl_init();

// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $searchString,
    CURLOPT_USERAGENT => 'Codular Sample cURL Request',
    CURLOPT_FOLLOWLOCATION, true
));
// Send the request & save response to $resp
$result = curl_exec($curl);

// Close request to clear up some resources
curl_close($curl);

if( $result === null || $result == FALSE || $result == '' )
{
    return 'Empty Result';
}

$doc = new SimpleXmlElement($result, LIBXML_NOCDATA);