dongwuxie5112
2018-08-02 19:21
浏览 295

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

图片转代码服务由CSDN问答提供 功能建议

我在谷歌和这里搜索过很多但我没有进一步解决我的问题。 我不是编码器,虽然我试图解析JSON到PHP变量,但我得到一个空响应,我想要一个表显示或至少任何jsondata

这是什么 我的代码如下所示:

 &lt;!DOCTYPE html&gt; 
&lt; html&gt; 
&lt; body&gt; 
 
&lt; h1&gt;可用代理&lt; / h1&gt; \  n 
&lt;?php 
 $ url ='https:// url / livewebservice / imoscontactagentstate?用户名=用户名&amp; Pwd =密码&amp; Cmd = GetState&amp; ResultType = JSON'; 
 //启动curl 
 $ ch =  curl_init($ url); 
 $ data = json_encode($ data,true); 
 
 ncurl_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')
); \  n $ result = curl_exec($ ch); 
curl_close($ ch); 
return $ result; 
var_dump(json_decode($ result,true)); 
 print_r($ result);  
Nacach($ result as $ key =&gt; $ value)
 {
 echo'&lt; td&gt;&lt; font face =“calibri”color =“red”&gt;'。$ value [type]。'  &lt; / font&gt;&lt; / td&gt;&lt; td&gt;&lt; font face =“calibri”color =“blue”&gt;'。$ value [category]。'  &lt; / font&gt;&lt; / td&gt;&lt; td&gt;&lt; font face =“calibri”color =“green”&gt;'。$ value [amount]。'  &lt; / font&gt;&lt; / tr&gt;&lt; tr&gt;'; 
 
} 
 echo“&lt; / tr&gt;&lt; / table&gt;”; 
 
?&gt; 
 
 
  
&lt; / body&gt; 
&lt; / html&gt; 
   
 
 

我很感激任何提示

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

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>
    
    打赏 评论
  • dsepcxw181184853 2018-08-02 20:12

    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

    打赏 评论

相关推荐 更多相似问题