簡體   English   中英

PHP Curl獲取數據

[英]PHP Curl get data

我創建了一個簡單的PHP curl客戶端,它調用了外部Web服務。 該Web服務返回XML。

<?php
// Method: POST, PUT, GET etc
// Data: array("param" => "value") ==> index.php?param=value
function CallAPI($method, $url, $data = false)
{
    $curl = curl_init();
    switch ($method)
    {
        case "POST":
            curl_setopt($curl, CURLOPT_POST, 1);
            if ($data)
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            break;
        case "PUT":
            curl_setopt($curl, CURLOPT_PUT, 1);
            break;
        default:
            if ($data)
                $url = sprintf("%s?%s", $url, http_build_query($data));
    }
    // Optional Authentication:
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);

    return $result;
}
$response = CallAPI('GET','https://s1-en.ogame.gameforge.com/api/universes.xml');
var_dump($response);
//print string(1121) " "
?>

但這總是給我帶來錯誤的價值。 我打印string(1121) " "

如何獲取通話數據? test.php第41行)。

這是因為您正在瀏覽器中查看結果,並且瀏覽器將xml解析為有效的html標記。 這樣您會得到空的結果。

它不是您的代碼問題。 您可以在瀏覽器中按ctrl + u (查看源代碼)以查看實際結果。

或者,您可以編輯var_dumpecho htmlentities($response); 在第41行。

暫無
暫無

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

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