[英]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.