2016-09-24 100 views
0

我在捲曲時遇到了一些問題。它不會採取$變量..請協助。捲曲請求的其餘部分是正確的,我已經成功地孤立它php通過var來捲曲請求

這裏是我試過

CURLOPT_POSTFIELDS => "{\"msisdn\":$msisdn, \"transactionId\": $_id, \"transactionAmount\": $amount}", 

$payload = json_encode(array("msisdn"=> $s_msisdn,"transactionId"=>$_id, "transactionAmount"=>$_amount)); 
... 
CURLOPT_POSTFIELDS => $payload, 

編輯:全部要求

$curl = curl_init(); 
    curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
CURLOPT_POSTFIELDS => "{\"msisdn\":"'.$_msisdn.'", \"transactionId\": "'.$_id.'", \"transactionAmount\": "'.$_amount.'"}", 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
), 
)); 

回答

1

這裏是你能做的事使用。你的JSON字符串沒有得到正確的引用。我個人發現使用數組然後json_encode更容易,它不必擔心轉義變量。

$data = array (
    "msisdn" => $_msisdn, 
    "transactionId" => $_id, 
    "transactionAmount" => $_amount, 
); 
$jsonData = $json_encode($data); 
$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => $jsonData, 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
), 
)); 

這更接近您的代碼與固定的JSON。

$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_PORT => "5001", 
    CURLOPT_URL => "http://123.123.23.11:5001/demo", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => "{\"msisdn\": \"{$_msisdn}\", \"transactionId\": \"{$_id}\", \"transactionAmount\": \"{$_amount}\"}", 
CURLOPT_HTTPHEADER => array(
    "authorization: Basic abcdefgh", 
    "content-type: application/json", 
) 
)); 
+0

我添加了整個代碼 – Bmbariah

+0

Thanks..Works great – Bmbariah