簡體   English   中英

如何獲得http請求的響應

[英]how to get response of http request

[![在此處輸入圖像描述][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 )
{

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM