簡體   English   中英

發布請求php -curl

[英]post request php -curl

我寫了這段代碼:

 $data = array(
    'user' => '*****',
    'password' => '****',
     'terminal' => '******',
      'GoodURL' => '********',
       'Total' => *******,
    );
    $jsonData = json_encode($data);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://gateway20.pelecard.biz/PaymentGW/init");
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;','Content-Length: ' . strlen($jsonData)));
        if ($call == 'pay') {
            $result = curl_exec($ch);
            $serverData = json_decode($result, true);
            echo $serverData['URL'];
        }

參數在data數組中很好,但是我總是得到result = false 誰能告訴我我在做什么錯?
謝謝

您將實現錯誤處理,並且cURL本身可以告訴您問題。 使用http://php.net/manual/en/function.curl-error.php ,您可以執行以下操作:

print __LINE__;
if ($call == 'pay') {
   $err = curl_error($ch);
   print __LINE__;
   if (!empty($err)) {
     throw new Exception($err);
   }
   $result = curl_exec($ch);
   print serialize($result);
   $serverData = json_decode($result, true);
   print_r($serverDATA);
   echo $serverData['URL'];
}

然后您將能夠看到失敗的原因。 根據代碼的其他部分,您可能希望將其打印出來,並將其放入日志數據庫中,依此類推,拋出異常並不總是正確的處理方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM