dongwuxie5112 2018-08-02 19:21
浏览 321
已采纳

JSON编码到PHP变量通过Curl失败并返回空响应

i have searched a lot on google and here but im not getting any further with my problem. I am not a coder though I am trying to parse JSON to PHP Variables, but i get an empty response, where i want a table to be shown or at least any jsondata

Here is what my code looks like:

<!DOCTYPE html>
<html>
<body>

<h1>Available Agents </h1>

<?php
$url = 'https://url/livewebservice/imoscontactagentstate?Username=username&Pwd=password&Cmd=GetState&ResultType=JSON';
//  Initiate curl
$ch = curl_init ($url);
$data = json_encode ($data,true);

curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array (
' Content-Type: application/x-www-form-urlencoded ',
'charset=utf-8')
);
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
var_dump(json_decode($result, true));
 print_r($result); 
foreach ($result as $key => $value)
              {
          echo '  <td><font  face="calibri"color="red">'.$value[type].'   </font></td><td><font  face="calibri"color="blue">'.$value[category].'   </font></td><td><font  face="calibri"color="green">'.$value[amount].'   </font></tr><tr>';

           }
           echo "</tr></table>";

?>



</body>
</html>

I am grateful for any hints

  • 写回答

2条回答 默认 最新

  • dongtao4319 2018-08-04 06:14
    关注

    The problem was solved my Username did not have the permission to access the data and we made minor changes to the code so it looks like this:

    php
    
    
    $data = array(
    
    "UserName" => "Username",
    
    "Pwd" => "Password",
    
    "Cmd" => "GetAgentStateList",
    
    "ResultType" => "JSON",
    
    );
    
    $url='https://host/livewebservice/service/?'.http_build_query($data);
    
     echo $url;
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, $url);
    
    curl_setopt($ch, CURLOPT_HEADER, false);
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
    "Content-Type: application/x-www-form-urlencoded", "charset=UTF-8",)); 
    
    $result = curl_exec($ch);
    
    if(curl_errno($ch)){
    
        throw new Exception(curl_error($ch));
    
    }
    
    curl_close($ch);
    
    $f_result=json_decode($result);
    
    print_r($f_result);
    
    ?>
    
     

    i hope this helps someone coming from google someday.

    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名