我创建了一个简单的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_dump
到echo htmlentities($response);
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句