【问题标题】:PHP Curl get dataPHP Curl 获取数据
【发布时间】:2019-01-19 07:57:57
【问题描述】:

我创建了一个调用外部 Web 服务的简单 PHP curl 客户端。此 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 行)。

【问题讨论】:

    标签: php php-curl


    【解决方案1】:

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

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

    或者您可以在第 41 行将您的 var_dump 编辑为 echo htmlentities($response);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 2014-07-11
      相关资源
      最近更新 更多