dongwuxie5112
dongwuxie5112
2018-08-02 19:21

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 dongtao4319 3年前

    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>
    
    点赞 评论 复制链接分享
  • dsepcxw181184853 dsepcxw181184853 3年前

    Try to remove true from $data = json_encode ($data,true); as far as can i remember true is used only in json_decode to create an associative array

    点赞 评论 复制链接分享

相关推荐