【发布时间】:2016-01-16 09:52:43
【问题描述】:
我在将内容/数组从 Web 服务获取到我的 php 代码时遇到问题。当我在浏览器中输入http://server1-xeon.asuscomm.com/currency/?amount=1.20,from=MYR,to=SGD 之类的url 时,浏览器中的结果显示如下:[ 1.20MYR , 0.39SGD ]。我的 PHP 代码如下所示:
$ch = curl_init('http://server1-xeon.asuscomm.com/currency/?amount=1.20,from=MYR,to=SGD');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
echo $content;
不幸的是,我没有使用上面的代码。寻求帮助。 谢谢。
更新
$data=array(
'amount'=>1.2,
'fromCurrency'=>'MYR',
'toCurrency'=>'SGD'
);
$data_string = json_encode($data);
$ch = curl_init('http://server1-xeon.asuscomm.com/currency/WebService.asmx/YaHOO_CurrencyEx');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Content-type: application/json'));
$content= curl_exec($ch);
curl_close($ch);
$obj = json_decode($content);
echo $obj;
【问题讨论】:
-
结果
[ 1.20MYR , 0.39SGD ]不是正确的 JSON 字符串(需要引用这些值),并且 URL 将结果输出到 HTML 表中。不仅如此,看起来结果是由服务器上的 javascript 生成的,这意味着你永远不会通过 cURL 获得结果,因为 JS 不会运行。 -
意味着 curl 只对获取 JSON 有效?