PHP Curl获取数据

乔迪·塞拉

我创建了一个简单的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) " "

如何获取通话数据?(中的第41行test.php)。

修补匠

这是因为您正在浏览器中查看结果,并且浏览器将xml解析为有效的html标记。这样您会得到空的结果。

它不是您的代码问题。您可以ctrl + u在浏览器中(查看源代码)以查看实际结果。

或者,您也可以在第41行上编辑var_dumpecho htmlentities($response);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章