[英]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_dump
以echo htmlentities($response);
在第41行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.